Skip to content

If the URL from the OpenGraphData is invalid, the Slack Block Building API fails and returns an error message: "Invalid block data." #1

@nhemnt

Description

@nhemnt

In the createSlackBlocks function within the utils module, make sure to check the status of the URL. Only add an image block if the status is 200.

Screenshot 2023-06-18 at 11 56 20 PM

Sample CURL (use Authorization header as per your env)-
curl --location --request POST 'http://localhost:8081/api/trends' \ --header 'Content-Type: application/json' \ --data-raw ' {"urls":["a:2:{s:3:\"url\";s:126:\"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/z2hgh7u3kvoe39fz\/aHR0cHM6Ly90aGlzd2Vla2lucmVhY3QuY29tL25ld3NsZXR0ZXI=\";s:5:\"title\";s:17:\"",{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/p8hehquz2094z3hr\/aHR0cHM6Ly90d2l0dGVyLmNvbS9kYW5fYWJyYW1vdi9zdGF0dXMvMTY2NjQ1OTA5NTk3OTc1MzQ3Nw==","title":"on holiday"},"a:2:{s:3:\"url\";s:106:\"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/x0hph3uwp6newpcg\/aHR0cHM6Ly9zbG8uaW0vcmV0d2VldA==\";s:5:\"title\";s:48:\"",{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/x0hph3uwp6newpcg\/aHR0cHM6Ly9zbG8uaW0vcmV0d2VldA==","title":"Like ❤️️ or Retweet ♻️ the last Twitter thread"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/6qhehou75gpl7ws9\/aHR0cHM6Ly90aW5hLmlvLz91dG1fc291cmNlPW5ld3NsZXR0ZXImdXRtX3Rlcm09dGhpcy13ZWVrLWluLXJlYWN0","title":"Tina.io is a headless CMS for Markdown-powered sites"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/kkhmh2ul5q8nl2ak\/aHR0cHM6Ly9naXRodWIuY29tL3RpbmFjbXMvdGluYXNhdXJ1cw==","title":"Docusaurus"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/58hvh8umn85gmzf7\/aHR0cHM6Ly9naXRodWIuY29tL3RpbmFjbXMvdGluYS1jbG91ZC1zdGFydGVy","title":"Next.js + Tailwind with visual editing"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/25h2h9u28z732oh8\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj16UmtlS1Naamx5dw==","title":"4-min demo video"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/qvh8h8ur458dr8ug\/aHR0cHM6Ly93d3cuamFjb2JwYXJpcy5jb20vY29udGVudC9yZW1peC1jdXN0b20tcm91dGVz","title":"Colocate your routes into feature folders with Remix Custom Routes"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/9qhzhdup6mgdpdaz\/aHR0cHM6Ly9naXRodWIuY29tL2phY29icGFyaXMtaW5zaWRlcnMvcmVtaXgtY3VzdG9tLXJvdXRlcw==","title":"remix-custom-routes"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/3ohphdu72lq374tp\/aHR0cHM6Ly93d3cuYnVpbGRlci5pby9ibG9nL2h5ZHJhdGlvbi10cmVlLXJlc3VtYWJpbGl0eS1tYXA=","title":"Hydration is a tree, Resumability is a map"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/n2hohqu3xpnv3rc0\/aHR0cHM6Ly90d2l0dGVyLmNvbS9ua1NhcmFmOTgvc3RhdHVzLzE2Njc5MzQ2MzYyOTc2NTAxNzk=","title":"react-server-dom-vite"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/wnh2h6uwkprqwmal\/aHR0cHM6Ly90d2l0dGVyLmNvbS9zZWJhc3RpZW5sb3JiZXIvc3RhdHVzLzE2Njg1NjI1ODg3ODE3NDgyMjQ=","title":"Sophie Alpert looking for a job"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/reh8h9u03rqm04c6\/aHR0cHM6Ly93d3cudG90YWx0eXBlc2NyaXB0LmNvbS95b3UtY2FuLXN0b3AtaGF0aW5nLXJlYWN0LWZj","title":"You Can Stop Hating React.FC"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/08hwhgud95m2deip\/aHR0cHM6Ly9hc3Ryby5idWlsZC9ibG9nL2ltYWdlcy8=","title":"Better Images in Astro"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/8ghqh3ul2vgolnal\/aHR0cHM6Ly9vbW5pc3RhYy5naXRodWIuaW8vemVkdXgvYmxvZy96ZWR1eC1pcy10aGlzLXRoZS1vbmU=","title":"Zedux: Is this the one?"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/vqh3hmupv7nop7sw\/aHR0cHM6Ly9hbmRyZWlnYXRlai5kZXYvYmxvZy9yZWFjdC1kZWJ1Z2dpbmctdGhlLXNvdXJjZS1jb2RlLw==","title":"React: how to debug the source code"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/l2heh6u3n9ol3mfg\/aHR0cHM6Ly90d2l0dGVyLmNvbS9hc2NvcmJpYy9zdGF0dXMvMTY2ODU4NjAxMTExNzQ2NTYwMA==","title":"Netlify Connect"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/m2h7h6u8qpo38dbl\/aHR0cHM6Ly93d3cuamFjb2JwYXJpcy5jb20vY29udGVudC9yZW1peC1kcml6emxl","title":"Add Drizzle ORM to a Remix app"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/dphehmu0ogqe0pil\/aHR0cHM6Ly93d3cuYnVpbGRlci5pby9ibG9nL25leHQtMTMtYXBwLXJvdXRlcg==","title":"A Visual Guide to the new App Router in Next.js 13"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/e0hph0u0lgk70df7\/aHR0cHM6Ly90a2RvZG8uZXUvYmxvZy90aGlua2luZy1pbi1yZWFjdC1xdWVyeQ==","title":"Thinking in React Query"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/owhkhwur6v4wrzbq\/aHR0cHM6Ly90d2l0dGVyLmNvbS9zaGFkY24vc3RhdHVzLzE2NjY4NjE4NTAwOTE0NTg1NjA=","title":"Shadcn UI CLI"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/z2hgh7u3kvoee9hz\/aHR0cHM6Ly9oaWJlcndvcmxkLmNvbS9kZXZlbG9wZXI=","title":"Hiber 3D"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/p8hehquz209443sr\/aHR0cHM6Ly9uYWtlZGpzeC5vcmcv","title":"NakedJSX"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/x0hph3uwp6neepsg\/aHR0cHM6Ly9naXRodWIuY29tL0pMYXJreS9yYWQtZXZlbnQtbGlzdGVuZXI=","title":"rad-event-listener"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/kkhmh2ul5q8nn2uk\/aHR0cHM6Ly90d2l0dGVyLmNvbS90cmVtb3JsYWJzL3N0YXR1cy8xNjY2NzA2MTgzNDA5ODYwNjEw","title":"Tremor v3 - React library to build dashboards"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/58hvh8umn85ggzh7\/aHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVhY3QtcmVkdXgvcmVsZWFzZXMvdGFnL3Y4LjEuMA==","title":"React-Redux 8.1"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/25h2h9u28z733oa8\/aHR0cHM6Ly9wb2RjYXN0ZXJzLnNwb3RpZnkuY29tL3BvZC9zaG93L3JlYWN0aWZsdXgvZXBpc29kZXMvVGhpcy1Nb250aC1pbi1SZWFjdC0tTWF5LTIwMjMtZTI1Zmx2aA==","title":"This Month in React – May 2023"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/qvh8h8ur458dd8ag\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1ydGdqRkVKYUZJOA==","title":"Does Lock-In Even Matter Anymore?"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/g3hnhwu3l5emm3b3\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1IYlVEaU5sVTZZdw==","title":"Is Next.js App Router Slow? Performance Deep Dive"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/9qhzhdup6mgdddsz\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1Ra250RldiX1Y4aw==","title":"From Pages to the App Directory in Next.js 13 (Nested Layouts)"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/3ohphdu72lq334up\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1Wa2V6UU1iMURIdw==","title":"High-school student makes React a million times faster"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/n2hohqu3xpnvvri0\/aHR0cHM6Ly9yZWFjdGJyaWNrcy5jb20vP3V0bV9zb3VyY2U9dGhpc3dlZWtpbnJlYWN0","title":"React Bricks is a CMS with visual editing for Next.js, Remix and Gatsby."},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/n2hohqu3xpnvvri0\/aHR0cHM6Ly9yZWFjdGJyaWNrcy5jb20vP3V0bV9zb3VyY2U9dGhpc3dlZWtpbnJlYWN0","title":"https:\/\/reactbricks.com"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/48hvh7urpe0mmkfq\/aHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0LW5hdGl2ZS9yZWxlYXNlcy90YWcvdjAuNzIuMC1yYy42","title":"React-Native 0.72.0-RC.6"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/wnh2h6uwkprqqmbl\/aHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0LW5hdGl2ZS9yZWxlYXNlcy90YWcvdjAuNzEuMTA=","title":"React-Native 0.71.10"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/reh8h9u03rqmm4i6\/aHR0cHM6Ly90d2l0dGVyLmNvbS9zd21hbnNpb24vc3RhdHVzLzE2Njg2NDA3Nzk5MjM4NDkyMTY=","title":"Reanimated 3.3"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/08hwhgud95m22ebp\/aHR0cHM6Ly9naXRodWIuY29tL0V2YW5CYWNvbi9leHBvLWFwcGxlLXRhcmdldHM=","title":"Expo-Apple-Targets"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/8ghqh3ul2vgoontl\/aHR0cHM6Ly90d2l0dGVyLmNvbS9CYWNvbmJyaXgvc3RhdHVzLzE2NjgwMDE2NTE5MjIyMjMxMDQ=","title":"develop those targets with React-Native"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/vqh3hmupv7noo7cw\/aHR0cHM6Ly9ibG9nLm1vYmlsZS5kZXYvcnVubmluZy1tYWVzdHJvLXVpLXRlc3RzLWluLWFuLWV4cG8tZGV2ZWxvcG1lbnQtYnVpbGRzLTFjYTQ0M2FiMmEzMA==","title":"Running Maestro UI Tests in an Expo Development Build"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/m2h7h6u8qpo33dcl\/aHR0cHM6Ly9yZWFjdG5hdGl2ZXJhZGlvLmNvbS9lcGlzb2Rlcy9ybnItMjY4LWVtYmFya2luZy1vbi1leHBvLXNkay00OA==","title":"React-Native-Radio 268 - Embarking on Expo SDK 48"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/dphehmu0ogqeepbl\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj14a1l5XzZramU5RQ==","title":"Building a MacOS App with React Native: Is it Possible?"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/e0hph0u0lgk77dh7\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1sWWZnR2dKZ0hCMA==","title":"What’s the best cross-platform technology in 2023"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/7qh7h2uo67099eu9\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj10c2xlTHhidnhlMA==","title":"React Native Shared Element Transitions with Reanimated 3"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/owhkhwur6v4wwzcq\/aHR0cHM6Ly9wYXNzaW9uZnJvb3QucmVjcnVpdGVlLmNvbS9vL3Nlbmlvci1mdWxsc3RhY2stZW5naW5lZXI=","title":"Passionfroot - Senior Full-stack Engineer (Remix) - €160k+, Berlin\/remote"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/z2hgh7u3kvoep9sz\/aHR0cHM6Ly93d3cuY2FsbHN0YWNrLmNvbS9zZW5pb3ItcmVhY3QtbmF0aXZlLWRldmVsb3Blcg==","title":"Callstack - Senior React Native Developer - Fully Remote, PLN 21-32k net on B2B, monthly"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/p8hehquz2094g3fr\/aHR0cHM6Ly90d2l0dGVyLmNvbS9nYWJlX2cyaS9zdGF0dXMvMTU2MzIwNDgxMzg4MTQyNTkyNj9zPTIwJnQ9QXJSTEM3N0JwUndYWENkeDhmblVxdw==","title":"G2i - 100% Remote React Native Jobs"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/x0hph3uwp6ne9pfg\/aHR0cHM6Ly90d2l0dGVyLmNvbS9nYWJlX2cyaQ==","title":"@gabe_g2i"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/6qhehou75gplnwc9\/aHR0cHM6Ly90aGlzd2Vla2lucmVhY3QuY29tL3Nwb25zb3I=","title":"How to publish an offer ?"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/kkhmh2ul5q8n62ak\/aHR0cHM6Ly9naXRodWIuY29tL2V2YW53L3BvbHl3YXNt","title":"Polywasm - A polyfill for WebAssembly"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/7qh7h2uo6709wmb9\/aHR0cHM6Ly93d3cuemtzZWN1cml0eS54eXovYmxvZy9wb3N0cy93YXNtYXRpLw==","title":"Wasmati - a TypeScript library to write Wasm at the instruction level"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/owhkhwur6v4wg8fq\/aHR0cHM6Ly9naXRodWIuY29tL2thbGVpZGF3YXZlL2V6bm8vZGlzY3Vzc2lvbnMvMjE=","title":"Ezno compiler\/typechecker open-sourced"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/z2hgh7u3kvoepotz\/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1sYzVOcDlPcURIVQ==","title":"Why We Should Stop Using JavaScript According to Douglas Crockford"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/p8hehquz2094gzur\/aHR0cHM6Ly9ibG9nLnRvbWF5YWMuY29tLzIwMjMvMDYvMDcvd2ViLWFwcHMtb24tbWFjb3Mtc29ub21hLTE0LWJldGEv","title":"Web Apps on macOS Sonoma 14 Beta"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/x0hph3uwp6ne9eug\/aHR0cHM6Ly9jaHJpc2NveWllci5uZXQvMjAyMy8wNi8wNi9tb2Rlcm4tY3NzLWluLXJlYWwtbGlmZS8=","title":"Modern CSS in Real Life"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/6qhehou75gplnnf9\/aHR0cHM6Ly9tb2Rlcm5jc3MuZGV2L21vZGVybi1jc3MtZm9yLWR5bmFtaWMtY29tcG9uZW50LWJhc2VkLWFyY2hpdGVjdHVyZS8=","title":"Modern CSS For Dynamic Component-Based Architecture"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/kkhmh2ul5q8n6mck\/aHR0cHM6Ly90d2l0dGVyLmNvbS9kZXZvbmdvdmV0dC9zdGF0dXMvMTY2NjQ3Njg1Njk5MDkwODQxNg==","title":"Lightning CSS 1.21"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/58hvh8umn85gklt7\/aHR0cHM6Ly9naXRodWIuY29tL2d2ZXJnbmF1ZC90cy1wYXR0ZXJuL3JlbGVhc2VzL3RhZy92NS4wLjA=","title":"ts-patterns 5.0"},{"url":"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/25h2h9u28z734li8\/aHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL25ldy1pbi1kZXZ0b29scy0xMTUv","title":"What'\''s New in DevTools (Chrome 115)"},"a:2:{s:3:\"url\";s:106:\"https:\/\/click.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv\/x0hph3uwp6newpcg\/aHR0cHM6Ly9zbG8uaW0vcmV0d2VldA==\";s:5:\"title\";s:48:\"",{"url":"https:\/\/unsubscribe.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv","title":"Unsubscribe"},{"url":"https:\/\/preferences.convertkit-mail4.com\/o8u9zoxrg3tqhkwn0ggsv","title":"Your email preferences"}]} '

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions