10月24日からFacebookおよびInstagramのoEmbed APIの仕様が変更され、アクセストークンのないoEmbedリクエストは無効と判断される厳格な運用に変わった。この変更は二ヶ月ほど前から予告されており、現在FacebookやInstagramの投稿を埋め込むとどうなるかというと、こうなってしまう。
なお、Instagramに関しては埋め込みコードを取得してカスタムHTMLブロックに挿入すればURLからのoEmbed展開を使わないので、そのまま動作するようだ。
ただ、この埋め込みコードにはscirptタグが仕込まれているので、管理者以外のアカウントの場合は動作しない可能性がある。もし複数人が投稿するメディアを運用している場合は「管理者がオーケーといっているのに投稿者はできないと主張する」というすれ違いが発生する可能性もあるので、詳しくは unfiltered_html
でググってみよう。
筆者はFacebookやInstagramの投稿をWordPressに埋め込みたいと思ったことはないのだが、アパレル・スポーツ系のメディアではInstagramを埋め込むケースは多いだろう。どうしても同じように使いたいという場合は、oEmbed Plusというプラグインが良さそうだ。
このプラグインを利用することでoEmbedによるURL展開が引き続き利用できる。ただし、Facebookは「トークンレスアクセスの禁止」を謳っているので、Facebookディベロッパーへの登録、アプリの作成およびアクセストークン&シークレットの発行というめんどくさい作業が待っていることに変わりはない。
WordPressは5.5.2でoEmbedプロバイダーから削除し、5.6からFacebookおよびInstagramブロックを削除する予定だ。
なんにせよ、oEmbedというオープンな仕様に対してFacebookがノーを突きつけたことは、単なる機能の停止以上にオープンソースコミュニティをガッカリさせたようである。やはりボスが議会に呼び出されて怒られるほどの会社だと、様々なことに慎重にならざるを得ないのだろう。Googleも反トラスト法による分割が議論されているようだし、大統領選の結果いかんによってはさらなる分断が訪れるかもしれない。