WordPressからのFacebookへの自動投稿機能の実現 Facebookアプリレビュー完了


WordPressからのFacebookへの自動投稿機能の実現 Facebookアプリレビュー

以前の記事にてFacebookのアプリレビューに合格してWordPressとの連携が可能になったことを報告しましたが、

手順の説明やらはすべて省いていましたので、ここで説明します。

使用するプラグインはNextScripts: Social Networks Auto-Poster 略してSNAP

かつてはWordPressとFacebookとの連携では各種のプラグイン、JetPackなどが使用できましたが、Facebookが2018年度から実施しているセキュリティの強化によって、SNS連携プラグインのほとんどがFacebookへの自動投稿が出来なくなりました。このセキュリティの強化は、ロボットなどによってFacebookを宣伝に利用されるのを禁止するための措置です。セキュリティホールなどがあったわけではありません。宣伝用のなりすましアカウントなどで個人のアカウントに偽装しての大量投稿を防ぐためだと思われます。

SNS連携を謳うどのプラグインもFacebookとの連携機能は残していますが、Facebook側がアクセスを禁止しているので、実際には動作しません。JetPackも設定は可能ですが、アプリIDなどを設定しても、自動投稿はできません。逆に、Twitterはすぐに連携出来ます。まだまだセキュリティが緩いです。Instagramも最近は難しくなっています。

今回私が試したのは NextScripts: Social Networks Auto-Posterです。

これを選んだ理由は、プラグイン開発メーカーがFacebookのセキュリティ強化後の対応までをフォローしたヘルプサイトを用意しているからです。

さらに、稼働サイトでの直接投稿テスト前に、プラグイン内で連携をテストする機能があるのも決定的でした。これは実際にはアプリレビューの最中に知ったことですが、アプリレビューにはFacebook側によるWEBサイトのテスト操作が必要で、その際にプラグインのテスト機能が必須だったのです。

準備

SNAPプラグインのインストール

SNAPプラグインのインストール

まずはNextScripts: Social Networks Auto-Posterのプラグインをインストールします。普通のプラグインとやり方は同じです。

検索する際のキーワードはきちんとNextScripts: Social Networks Auto-Posterと入れた方が良いです。紛らわしい名前のプラグインが出回ることがあるので、プラグインの製作元はきちんと確認しましょう。プラグインは無料で使用可能です。有償版もあります。有償版は関連するFacebookページに投稿出来たり、投稿内容の設定が細かくできるようです。普通に使う分には無料版で十分です。

SNAPの設定の前に、Facebookのページを用意しておいてください。

今回は個人のアカウントではなくサイバーネット神戸という会社のページに投稿したいので、最初に個人のFacebookアカウントからFacebookページを作成します。

Facebook公式のページ作成ヘルプ

を参照してください。

Facebookページの注意点

Facebookページは、例えばこのようなイメージです、

会社の社員のFacebookアカウントがあって、その社員が会社のFacebookのページを作って求人をしようと思ったとき、社員のFacebookアカウントから会社のFacebookページを作成できます。そのFacebookページは会社のオーナーであるかどうかに関係なく作成できますが、そのページを会社の名前のURLに関係つけようとすると、個人のFacebookアカウントが携帯番号で認証されていないとできません。

当社の場合 https://www.facebook.com/SybernetworkKOBE/ のようなURLに設定すると格好いいですね。

携帯電話での認証が出来ていないない場合、URLはランダムな記号になってしまいます。

つまり、会社用のFacebookページを作成するには、社員の誰かのFacebookアカウントか会社の用事で使える携帯番号が必要になります。会社オーナー個人の携帯番号で使用して、プライバシー設定で個人のアカウントと切り離して使用することも出来ますが、携帯電話番号の認証などの際に、いちいちその携帯番号に認証コードを送信するので、オーナー個人が会社のFacebookページを直接管理出来る場合などに限られます。できれば、会社支給の携帯電話番号を使ったアカウントでページを作成するほうが良いでしょう。

SNAPの設定

SNAPの設定に関してはSNAPの公式ヘルプが親切に説明しています。(結局人任せ)

SNAPとFacebookページの連携設定

FacebookアプリIDを取得する

Facebookページ、すなわち、会社用のFacebookページを作成したのち、Facebook開発者用アカウントにログインしてヘルプに従いアプリを作成して、アプリIDなどを取得します。

Facebook Developer

Facebook開発者ページから新規のアプリを追加してそのアプリのIDを取得します。アプリの種類はWWW(WebSite)で作成します。Facebookアプリの管理画面のダッシュボードにアプリIDやApp Secretなどの認証情報が表示されます。App Secretは表示を選ばないと表示されない。

Facebook側アプリの設定

Facebookアプリというのはゲームとかそんな大層なものではなく、ここでは、自社WEBサイトとの連携機能、つまり、WordPressからの自動投稿の受け手となる機能のことです。その機能をFacebookアプリと呼んでいます。大袈裟です。Facebookアプリの設定などは上のSNAPのヘルプ(英文)をじっくり読めば分かりますが、

注意点は

Valid OAuth redirect URIs

です。FacebookからのOAuth認証のコールバックを返すページのURLを指定するのですが、ここにはWordPress上のSNAPプラグインの設定ページのURLを指定します。

うちの場合、https://snkobe.com/wp-admin/admin.php?page=nxssnap のようなURLになっています。

その他、アプリIDやSecretを入力すればFacebookへアクセスのテストができるようになるのですが、自分の場合、SNAPのヘルプのように設定画面に作成したFacebookアプリの名前が出るには、Facebook側でテストアプリを作成して、そのテストアプリにおいてmanage_pagesとpublish_pagesの許可を与えてからでないと設定画面で選べませんでした。

テストアプリの作成
Facebookテストアプリの作成

Facebookテストアプリの作成

Facebookテストアプリの作成ヘルプ

先ほど少し書いたように、SNAPの自動投稿にはアプリにおいてmanage_pagesとpublish_pagesの許可が必要です。しかし、本体のFacebookアプリはレビュー審査に合格しないとその許可を与えてくれないので、レビュー時にきちんと動作するアプリは作成できません。
本末転倒な話ですが、交渉しても相手にしてくれないので、テストアプリ上にてmanage_pagesとpublish_pagesの許可を与えておきます。SNAPにはこのテストアプリのIDなどを設定して、WordPress上にFacebookで操作できるユーザーアカウント、管理者以外のテスト用アカウントを用意します。Facebookのレビュー担当者がこのアカウントを使用して機能をテストします。できれば管理者以外のアカウントを作成した方が良いでしょう。


テストアプリでの権限の付与

テストアプリへの権限付与の方法が説明不足だったので、追記しています。

公式ヘルプでは下のページを参考にして下さい。

https://developers.facebook.com/docs/apps/test-pages?locale=ja_JP

テストアプリへの権限、manage_pagesとpublish_pagesなどを付与するにはテストアプリを作成してからテストユーザーを作成して、そのユーザーに権限を付与します。

  1. テストユーザーを作成します。

    テスト用に作成したアプリをメニューのコンボリストから選ぶ

    テスト用に作成したアプリをメニューのコンボリストから選ぶ


    左メニューの役割のテストユーザー作成を選ぶ

    左メニューの役割のテストユーザー作成を選ぶ

  2. [Change permissions this test user granted to app(テストユーザーがアプリに付与した権限を変更)]をクリックし、manage_pages、publish_pagesアクセス許可が適用されていることを確認します。適用されている場合は[キャンセル]をクリックし、適用されていない場合はここでアクセス許可を追加して[更新]をクリックします。

    テストユーザーに付与した権限を変更する

    テストユーザーに付与した権限を変更する

  3. アクセス許可を付与するには「権限をアップデートする」のテキストボックスに、manage_pagesなどの権限名を直接入力します。そしてアップデートをクリックすればユーザーに権限が付与されます。
    アクセス許可の付与の際はテキストボックスに与える権限名を直接入力

    アクセス許可の付与の際はテキストボックスに与える権限名を直接入力

  4. この時のユーザーIDがのちのち必要になるのでどこかにメモしておきます。

レビュー申請ビデオの作成

レビューの申請はSNAPのヘルプにあるように、開発者ページのアプリレビューから行います。
入力説明はすべて英語ですが、申請文は日本語でも読んでくれますが、一番大事なのは動画です。レビュー申請にはこれを添付するようになっていて、一番大事です。はっきり言って申請文のなかに操作方法を懇切丁寧に書いたところで読んでいません。添付のビデオのとおりに操作して、きちんと動作しなければ却下です。
私はSNAPのヘルプに従い、TinyTakeという画面キャプチャアプリで投稿の操作を記録して添付しました。

レビュービデオのポイント
テストはSNAP設定画面で行う

テストはSNAP設定画面で行う

テスト用にWEBサイトWordPress上に作成してテストアカウントのIDとパスワードを必ず申請書フォームに書いておく。
ビデオでは、投稿のテストはSNAPの設定画面の「Submit Test Post for Facebook」というボタンでの動作を説明する。
申請ビデオの例もSNAPのヘルプにあるので、じっくり見ておきましょう。もちろん先に「Submit Test Post for Facebook」でテスト投稿が出来ることを確認しておきましょう。
Facebookテストアプリを作成しておけば、「Submit Test Post for Facebook」のボタンでWEBサイトからの投稿ですよという簡易な投稿がFacebookページに反映されます。レビューが完了するまでは、普通のWordpressの投稿はFacebookに反映されません。

さくらインターネットを使用している場合の注意

さくらインターネットをホスティングに使用している場合、最初の設定では海外からのアクセスを制限しているので、Facebookの米国のレビュー担当者がWEBサイトにアクセスできません。一時的に海外からのアクセスを許可しておく必要があります。
さくら レンタルサーバ コントロールパネルから設定できます。

レビュー審査の時間は
Facebookアプリレビュー完了 承認

Facebookアプリレビュー完了 承認

最初の返事までは数日でした。3日ほどかな。最初はテストアプリのことなども知らず、非承認の返事がきました。どんな症状で操作できなかったかビデオや画面コピーで教えてくれるので、それをもとに、なんと5回も申請をやり直しました。非承認後のやり取りは週末以外とても早かったです。週末だけはしっかり休むところは欧米の感覚だなと思いました。
海外アクセスを許可し、テストユーザーを作り直し、「Submit Test Post for Facebook」の操作をきちんと伝えると、やっとのこと承認されました。

感想

Facebookによるアプリの審査なんて大変そうですが、実際の審査自体は丁寧に対応していると感じました。向こうの審査している人物の気持ちが伝わるやり取りでした。
アプリレビューで自動投稿は敷居の高いものになりましたが、企業サイトなら挑戦する価値は十分にあると思います。
今後各種のSNSサイトの同様の動向に進むと思うので、ここでやっておくのは値打ちのあることだと思います。

サイバーネット神戸の最新情報をお届けします