はじめまして。デジタルステージ開発チームの朝比奈です。
主にバックエンドを担当しております、以後よろしくお願いいたします。
さて、今回が初記事となるのですが、以前Facebook Graph APIと連携する機能を開発した際、Facebookへの利用申請で非常に苦戦した記憶と、どのようにして承認を得られたかについて書いてみたいと思います。
WebページにInstagramを埋め込むための連携
BiNDupには、外部のさまざまなインターネットサービスと連携する機能「SYNC」が搭載されています。 自分のInstagramアカウントとSYNCを連携させることで、ページ内にInstagramギャラリーを貼り付けることができるのですが、 2020年6月29日をもってそれまで提供されていたInstagram APIが廃止されることとなり、SYNCの機能を維持するためにはFacebook Graph APIへ移行させる必要が出てきました。 Facebook Graph APIを利用するためには、アプリケーションを開発した後、FacebookにAPIの利用申請をしなければなりません。 その際、タイトルにもある通り申請が8回リジェクト(却下)されました。
難しかったこと
大きく分けて
- やりとりが英語
- 却下された理由が具体的に分からない
- SYNCがBiNDup内のサブシステム的な位置づけである
という部分でした。
利用申請を出すためには、
- アプリへのアクセス方法
- アプリ操作手順
- 使用するAPIのスコープ(範囲)
- 何故そのスコープを使用するのか
等々、詳細に記載しなければなりません。
アプリへのアクセス方法や操作手順が必要な理由は、Facebook側で実際の動きをテストしたり、ポリシーに則ってスコープが利用されているか確認するためですね。
ここでやり辛いのがそれらを英語で書かなければいけないということです。
お恥ずかしながら私はあまり英語が得意では無いので、Google翻訳先生に頼ってせこせこと頑張りました。(今ならばDeepL翻訳のほうがいいかも知れないですね)
却下された理由が具体的に分からないについてですが、申請のフィードバックを受けた際、基本的に「あなたが使用したいと言っているAPIのスコープは、あなたのアプリに必要ないと判断したので承認できません。」といったざっくばらんな内容で返ってきます(笑) 詳細な理由を訊くためにFacebookサポートにメッセージを送ることもできるのですが、ここでも全て英語のやり取りになるので意思の疎通が図りづらいという事態に直面します。
更にSYNCはBiNDup内で使える一機能であるため、Facebook側でテストしてもらう際にはまずBiNDupの操作方法から説明する必要がありました。
- BiNDupのログイン方法
- こちらでテスト用に作ったアカウントでログインしてもらう
- サイト作成方法
- ブロックエディタ操作方法
- instagramパーツの選択方法
等々説明する必要があり、これも操作方法記載の難しさに繋がっていましたね。(実際にはもっと細かくステップがありました)
悪夢のリジェクト祭り
この記事を書きながら申請履歴を見返してみましたが、2019/11/20に1回目の申請をして最終的に9回目で承認されたのが2019/12/24なので、丸1ヶ月以上かかっていたことになります。前述した通り却下内容は具体的には分からず、中には「あなたがinstagramを複製したアプリケーションを作成しようとしていると判断したため却下しました」なんてものもありました(笑) 再申請する度に、説明の表現を変えたり更に詳細に記述したりといったことも試しましたが、承認はされず…。旧Instagram APIの廃止時期も迫っていたので、中々精神的にきつかったです。
ちなみに、承認された日が12/24だったので「お、一足早いクリスマスプレゼントかな?」と思ったり思わなかったり。
解決方法
結局、どうやって承認されるに至ったか。
それは動画で全部説明するという事でした。
今思うとかなり強引な方法だったなぁと思いますが、BiNDupへログインしている様子や実際にSYNCを動かしてinstagramパーツがページ内に貼られている一連の流れを、全て動画でキャプチャして送りました。この時に重要なのが、全ての動作にキャプションを入れるということです。私はAdobe AfterEffectsが使えるのでAEでやりましたが、無料の動画編集ソフトでも充分ですね。(AviUtlなど)
ただ、これは本当に効果抜群でした。動画を添付した申請をしてみたところ、一発で承認を得られました。
まとめ
長々と書いた割に最後は動画でゴリ押しで解決かよ!感がありますが、Facebook Graph APIの申請が通らずお困りの方は、ぜひ一度お試しください(笑)
相手に分かりやすく伝えるためにはどうすればいいのかという視点で考えるのは大事だなと思った出来事でした。私の場合Facebookの決められた申請フォーム内で伝えなければ、ということに最初は頭がいっていましたが、ちょっと視点や方法を変えると案外簡単に解決できることもあると思いますので、今なにか行き詰まっている事がある方は、気分を変えて頭の体操をしてみては如何でしょうか。