{"id":9388,"date":"2020-10-16T11:44:12","date_gmt":"2020-10-16T15:44:12","guid":{"rendered":"https:\/\/www.med.unc.edu\/webguide\/?p=9388"},"modified":"2020-10-16T11:59:51","modified_gmt":"2020-10-16T15:59:51","slug":"upcoming-facebook-instagram-changes-will-break-embeds-beginning-october-24-2020","status":"publish","type":"post","link":"https:\/\/www.med.unc.edu\/webguide\/2020\/10\/upcoming-facebook-instagram-changes-will-break-embeds-beginning-october-24-2020\/","title":{"rendered":"Upcoming Facebook\/Instagram Changes Will Break Embeds Beginning October 24, 2020"},"content":{"rendered":"<p>To understand the issue that we are going to have with Facebook\/Instagram posts, you must first understand a little about <a href=\"https:\/\/en.wikipedia.org\/wiki\/API#:~:text=An%20application%20programming%20interface%20(API,the%20conventions%20to%20follow%2C%20etc.\" target=\"_blank\" rel=\"noopener noreferrer\">APIs (Application Programming Interface)<\/a>.<\/p>\n<p>APIs are the &#8216;agreement&#8217; between our websites and other types of software on how to exchange information using set standards. This allows our websites to interact with other software and use all the hard work provided by the developers that made it in a way they&#8217;ve already designed.<\/p>\n<p>One of the more convenient APIs is the <a href=\"https:\/\/oembed.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">oEmbed<\/a>, which is a format for allowing an embedded representation of a URL on a third-party website. This lets a website display embedded content (such as photos or videos) using just a simple URL link to that resource.<\/p>\n<p>In short, it&#8217;s how we have been able to show Facebook\/Instagram content on our WordPress websites.<\/p>\n<h2>What is Going to Happen<\/h2>\n<p>APIs, like the software they connect with, change periodically.<\/p>\n<p>Keeping up with these changes is often very easy and doesn&#8217;t require any actual changes to our websites to maintain compatibility.<\/p>\n<p>That said, now and then, software\/platform developers make radical changes to their code that then necessitate changes in how the API will work. Other times, as is the case with Facebook\/Instagram, they change the way the API itself works and\/or create restrictions on who and how the API can connect with other platforms.<\/p>\n<p>As part of an upcoming API change, Facebook and Instagram will be <a href=\"https:\/\/developers.facebook.com\/docs\/plugins\/oembed-legacy\" target=\"_blank\" rel=\"noopener noreferrer\">dropping &#8220;unauthenticated&#8221; oEmbed support<\/a> on October 24, which will break any content that is not embedded using an &#8216;authenticated&#8217; piece of code. The change will force users to generate an app ID from a developer account in order to create and use embedded links via oEmbed API.<\/p>\n<hr \/>\n<div class=\"row  oscitas-bootstrap-container\">\n<div class=\"col-lg-8 col-md-8 col-xs-12 col-sm-12 oscitas-bootstrap-container\">\n<h4 style=\"margin-top: 0;\">From Facebook<\/h4>\n<p><strong>Changes to tokenless access for User Picture and FB\/IG OEmbed endpoints:<\/strong>\u00a0By October 24, 2020, developers must leverage a user, app, or client token when querying Graph API for user profile pictures via UID, FB OEmbeds and IG OEmbeds. Developers should provide a user or app token when querying for profile pictures via a UID or ASID, though client tokens are supported as well. Please visit our changelog for\u00a0<a href=\"https:\/\/developers.facebook.com\/docs\/graph-api\/changelog\/version8.0#users\">User Picture<\/a>,\u00a0<a href=\"https:\/\/developers.facebook.com\/docs\/graph-api\/changelog\/version8.0#social-plugins\">Facebook OEmbed<\/a>\u00a0and\u00a0<a href=\"https:\/\/developers.facebook.com\/docs\/graph-api\/changelog\/version8.0#instagram\">Instagram OEmbed<\/a>\u00a0for details on how to start calling these Graph API endpoints today.<\/p>\n<p><i><a href=\"https:\/\/developers.facebook.com\/blog\/post\/2020\/08\/04\/Introducing-graph-v8-marketing-api-v8\/\" target=\"_block\" rel=\"noopener noreferrer\">Facebook for Developers blog<\/a><\/i><\/div>\n<div class=\"col-lg-4 col-md-4 col-xs-12 col-sm-12 oscitas-bootstrap-container\">\n<blockquote>\n<h4 style=\"margin-top: 0;\">WordPress&#8217;s Response<\/h4>\n<p>In response to Facebook\u2019s API change, <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/50861\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress will be removing Facebook as an oEmbed provider<\/a> in an upcoming core release. This will break a lot of content \u2013 many years\u2019 worth of posts in some instances.<\/p><\/blockquote>\n<\/div>\n<\/div>\n<hr \/>\n<div class = \"alert alert-info  oscitas-bootstrap-container\">\n<p class=\"lead\" style=\"font-weight: bold; text-align: center;\">The result will mean any of our websites that has Facebook\/Instagram content embedded via the unauthenticated oEmbed API will no longer show the content, and instead revert to just the URL\/code.<\/p>\n<\/div>\n<h2>Example<\/h2>\n<div class=\"row  oscitas-bootstrap-container\">\n<div class=\"col-lg-6 col-md-6 col-xs-12 col-sm-12 oscitas-bootstrap-container\">\n<div class=\"entry-content-asset\">\n<div id=\"fb-root\"><\/div>\n<p><script async=\"1\" defer=\"1\" crossorigin=\"anonymous\" src=\"https:\/\/connect.facebook.net\/en_US\/sdk.js#xfbml=1&amp;version=v8.0\" nonce=\"pVXwayVa\"><\/script><\/p>\n<div class=\"fb-post\" data-href=\"https:\/\/www.facebook.com\/unchealthcare\/photos\/3600280259984113\" data-width=\"750\">\n<blockquote cite=\"https:\/\/www.facebook.com\/unchealthcare\/photos\/a.393195207359317\/3600280259984113\/?type=3\" class=\"fb-xfbml-parse-ignore\"><p>Posted by <a href=\"https:\/\/www.facebook.com\/unchealthcare\/\">UNC Health<\/a> on&nbsp;<a href=\"https:\/\/www.facebook.com\/unchealthcare\/photos\/a.393195207359317\/3600280259984113\/?type=3\">Sunday, August 30, 2020<\/a><\/p><\/blockquote>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"col-lg-6 col-md-6 col-xs-12 col-sm-12 oscitas-bootstrap-container\">\n<pre>https:\/\/www.facebook.com\/unchealthcare\/photos\/3600280259984113<\/pre>\n<\/div>\n<\/div>\n<h2>Moving Forward<\/h2>\n<p>The jerk reaction for many would be to create a developers account and continue embedding content.<\/p>\n<p><strong>THIS IS NOT A SIMPLE SOLUTION<\/strong><\/p>\n<p>Creating a developer&#8217;s account requires using your personal Facebook account &#8211; which would tie your personal information to any post that is embedded on a website. <\/p>\n<p>Besides the privacy concerns that could be related to this solution, it also means that if you were to deactivate your developer&#8217;s account it would once again break the embeds unless the code was transferred to another individual&#8217;s personal development account. <\/p>\n<h2>Recommendations<\/h2>\n<p>As major players like Facebook and Instagram abandon open web APIs, the web is growing increasingly more fragmented. Facebook\u2019s upcoming API change will leave millions of broken embeds in its wake, with little pieces of embedded history lost along the way, in instances where website owners are no longer updating their content.<\/p>\n<p>Therefore, we recommend publishers re-examine how they include social media within their content. <\/p>\n<p>Linking to Facebook\/Instagram accounts will not be affected, but embedding content in websites will not be as easy without a plugin option &#8211; something that is not yet established within the School of Medicine.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The result of recent Facebook\/Instagram changes means that any content embedded via a URL will no longer show the content.<\/p>\n","protected":false},"author":79967,"featured_media":9400,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"layout":"","cellInformation":"","apiCallInformation":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-9388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","odd"],"acf":[],"featured_image":"https:\/\/www.med.unc.edu\/webguide\/wp-content\/uploads\/sites\/419\/2020\/10\/Alert-web-e1602863416448.jpg","featured_image_medium":"https:\/\/www.med.unc.edu\/webguide\/wp-content\/uploads\/sites\/419\/2020\/10\/Alert-web-e1602863416448-300x150.jpg","featured_image_medium_large":"https:\/\/www.med.unc.edu\/webguide\/wp-content\/uploads\/sites\/419\/2020\/10\/Alert-web-e1602863416448.jpg","featured_image_large":"https:\/\/www.med.unc.edu\/webguide\/wp-content\/uploads\/sites\/419\/2020\/10\/Alert-web-e1602863416448.jpg","featured_image_thumbnail":"https:\/\/www.med.unc.edu\/webguide\/wp-content\/uploads\/sites\/419\/2020\/10\/Alert-web-e1602863416448-150x150.jpg","featured_image_alt":"Alert Icon","category_details":[{"name":"News","link":"https:\/\/www.med.unc.edu\/webguide\/category\/news\/"}],"tag_details":[],"_links_to":[],"_links_to_target":[],"_links":{"self":[{"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/posts\/9388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/users\/79967"}],"replies":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/comments?post=9388"}],"version-history":[{"count":0,"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/posts\/9388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/media\/9400"}],"wp:attachment":[{"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/media?parent=9388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/categories?post=9388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.med.unc.edu\/webguide\/wp-json\/wp\/v2\/tags?post=9388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}