企業やアフェリエイターがオウンドメディアを運営する過程では、サイト構築からライティング、宣伝からSNS投稿まで全て自動化していこうという流れになることもあります。
ここではFacebookにブログ記事を自動投稿するためのプラグイン『NextScripts: Social Networks Auto-Poster(SNAP)』をご紹介します。

……結果的にはご紹介するだけになっちゃいますが、一体どういう問題があるのか、どういうエラーが出て、どうすれば連携が成功するのかまで書きます。(!当方は最後までやっていません!)
主には『SNAP』とFacebookを連携させるための「FacebookアプリIDの取得」のための記事です。
長いので、不要な部分が多い方は目次を使ってご覧ください。
『NextScripts: Social Networks Auto-Poster(SNAP)』のインストール
プラグイン自体のインストールは、公式なので他のプラグイン同様簡単です。
ダッシュボードの「プラグイン」→「新規追加」→右上の検索窓に「Social Networks Auto-Poster」と入力し、インストールして「有効化」。
有効化するとサイドバーに「SNAP」の項目が現れるので開きます
「Add new account」を押すと連携したいSNS候補が出てくるので「Facebook」を選択

Facebook連携の入力コマンドが立ち上がります

①ただの識別ネームなので何でもいいです。
②ここにすでにこう書いてある
Facebookは2018年5月1日にAPIへの無制限のアクセスを閉鎖しています。すべてのFacebookアプリはFacebookによるレビューと承認が必要です。詳細はこちら。
③Nativeを選択
FacebookアプリID取得の手順
FacebookとWordpressを連携させるプラグインは他にも存在し、中でも「Jetpack」はFacebookアプリIDの取得が必要ではなく簡単」と紹介されている記事が多いかと思います。
しかし2020年現在、「Jetpack」ではすでにFacebookとの連携は不可能だと思われます(「Facebookページ」に関してのテストは未完です)。
なぜ「Jetpack」などでは自動投稿に失敗するのか?も分かる強固な仕組み
基本的に匿名使用が可能なTwitterの簡単さに比べ、実名登録が原則のFacebookは敷居が高いです。
昔から所々面倒だったFBですが、特に2018年度から導入されたセキュリティの強化によって「Jetpack」に限らず連携プラグインのほとんどがFacebookへの自動投稿を弾かれています。
アプリIDが不要なプラグインなどは弾かれて当然なわけです。
これから記述する「アプリID」と「secretキー」の取得手順だけでもご覧になれば、セキュリティ強化の壁がどんなに厚いかお分かりになると思います。
まずFacebook開発者用ページに入る
では、淡々と手順を書いていきます。
「Facebook Developer」にアクセス
右上の「スタートガイド」を開きます
スタートガイドの手順通りに個人アカウントと連携させます

■ 自分のアカウントでアクセスしてるっつーのに電話番号での承認を迫られる。

■ここで電話番号エラーが出ちゃった方は、何かしらすでに使っているからそうなるわけですが、ここはFacebookアカ登録時の番号とは関わりなく他の電話番号でもOKなようです(つまりFB個人アカと開発アカは関連あるのに別物?)

■家族にでも電話番号を借りて、無事認証されたら「当てはまるもの」を選択してIN(後の作業に何の支障も無いので何を選択しても大丈夫です)

「最初のアプリを作成」をクリック

多くの方が「えっ、アプリなんて作らないし……」と思われると推測されるのですが、ここは「アプリ制作」を選択しないと進めないので。

「表示名」は自分が判別できれば何でも良いです(サイト名が分かりやすいのではないでしょうか。日本語OK)。アドレスはFB登録アドレスにしておきましょう。
「アプリIDを作成してください」をクリック。
ダッシュボードのサイドバーから「設定」→「ベーシック」
ここでやっと自分のダッシュボードが出来上がります。(この辺でブックマークしておくといいと思います)

ダッシュボードのサイドバーから「設定」→「ベーシック」を開きます。
やっと入手!App ID とApp Secret

求めていたApp ID とApp Secretをここでやっと入手!
App Secretは始めは隠れているので「表示」します。(ここでまたFBパスワードを求められる場合あり)
入手した情報で一度「SNAP」との連携を試してみよう
この段階で、2018年以前は連携できたのだと思います。
現在ネット上にたくさん出てくる「SNAPで簡単連携」の記事は2018年以前に書かれたものだと推測しています。
とりあえず、この時点で一回、連携を試してみましょう。

先ほどの「SNAP」のアカウントフォームにAdd ID と Add Secret を記入して「Authorize Your Facebook Account」をクリックします。
……と、漏れなくエラーに見舞われると思います(2020年7月現在)

デベロッパーの設定と「SNAP」のエラーに関する対処設定
2020年7月、誰もが上までの設定ではFacebook自動投稿連携設定は不可能だと思われます。
ここからは、まず基本の設定を書いていきます。
デベロッパーとサイトの連携設定
デベロッパーダッシュボード「設定」のベーシックでのサイト情報入力

- 「アプリドメイン」サイトのドメインを記入
- 「プライバシーポリシー」サイトURLが入っていればOK
- 「プラットフォームを追加」をクリック

「プラットフォーム」は単純に「ウェブサイト」で。
4.一番下にサイトURLを記入するフォームが現れるので記入して「変更を保存」
アプリの状態を「ライブ」へ
設定ページの上部にあるアプリの状態を公開「ライブ」へ。

「Facebookログイン」を開く
連携できなかった方は、サイドバーの「Facebookログイン」→「設定」を開きます。

「いいえ」になっているあらゆるログボタンをON「はい」に変え……
「有効なOAuthリダイレクトURI」に記入
「有効なOAuthリダイレクトURI」に、「SNAP」のプラグインページを記入します。
具体的には
これがOAuthリダイレクトURIになります。
「manage_pages」と「publish_pages」が必要だというエラー
執拗に出てくるのは「manage_pages」「publish_pages」に関するエラーで、これをデベロッパーのサポートで調べてみたところ

アプリレビューが必要だそうです……。
The pages_manage_posts permission allows your app to create, edit and delete your Page posts. If you have access to pages_read_user_content, you can also use pages_manage_posts to delete Page posts created by a user. The allowed usage for this permission is to create and delete content on a Page. さらにこのアクセス許可は、集約情報や個人を特定しない(匿名化された)情報を使用することにより(そのようなデータから再び個人を特定しないという条件で)、アプリの改善またはマーケティングや宣伝を目的として、分析に基づくインサイトをリクエストするために使用することもできます。
ということでした。

「アプリレビューと機能」からリクエストをして、何日か待ち、許可されればOKらしいですが、認証が諸々必要そうで、企業ならともかく個人にはハードル高すぎるのでは。
参考はこの辺を
ちなみに『SNAP』の公式サポートはめちゃめちゃ丁寧で、当方がここまで丸一日以上検証したようなことがサラっと書いてありました。
コロナ禍のおかげで停止されている個人認証
デベロッパーの個人認証は現在停止されているということで。
新型コロナウイルス感染症の影響を鑑み、Facebookのレビュアーが情報伝達や安全確保に尽力できるよう、個人認証を一時的に停止しています。Facebookはこの個人認証手続きの重要性を認識しており、できる限り早期の再開を目指しています。
近い将来、個人認証システムが再開されて、もう少し認証されやすくなる?……かも知れません。
(そもそもFBアカウントと連携してログインしているのに、アプリに認証されないと個人が証明されないという意味が分かりません)
しかし、SNSへの自動投稿システムが嫌われるのも分かる気はしないでもないです……。
記事を入れたら自動投稿するよりも、投稿にアクセスしてもらえるように言葉を考えて添えた方が絶対に楽しんでもらえると、アナログ頭かも知れませんが個人的にはそう考えます。
コメント