2019年に機能するアプローチ
私は最近(このスレッドで説明されているユースケースと同様)何かを達成しようとしていましたが、Facebookの現在のポリシーを尊重するようにしたかったので、少し調査を行い、ここで見つけたものを共有します。
私のユースケース
したがって、すでに述べたように、私のユースケースはここで説明したものと非常に似ています。あれは:
- 学区で仕事をしています。
- 彼らは学校の交通機関に関連するほとんどすべてを管理するためにソフトウェアツールを使用しています。
- このツールを使用すると、バスの遅延アラートと学校の閉鎖のアラートを発行するときに、(加入者に)電子メール通知を送信できます。
- コミュニティの多くの人々がFacebookページで組織をフォローしており、それがアラートを探す唯一の場所です。
- したがって、組織の従業員は、各通知をFacebookページに手動で公開する必要があります(交通機関ソフトウェアでの作成に加えて)。さらに、これらの通知は最終的に期限切れになる(または期限切れになる前に削除される)ため、従業員は後で戻って手動で削除する必要もあります。
- それは時間の腰なので、ここでやろうとしているのは、ソフトウェアツールのデータベースを定期的にポーリングして新しい(および期限切れの)通知を求め、Facebookページでそれらを更新(つまり、追加と削除)する単純なシステムを開発することです。
これは私の見解では正当なユースケースですが、Facebookのポリシーに沿った方法で実装する方法はわかりませんでした。
受け入れられた答え
受け入れられた回答の手順に従いましたが、動作が変わったことを除いて機能しました。生成されたページトークンが期限切れになっaccess to data
ていなくても、約60日後に期限切れになります。手順に従って、FB Token Debugger Toolでページトークンを検査すると、同様に表示されます。
さらに、ユーザーが自分のパスワードを更新するとページトークンも無効になるため、生成されたページトークンがユーザーアカウントに関連付けられていることも残念です。
2019年にそれを行う方法
数時間の調査の後、私は次のFacebookドキュメンテーション記事に出会いました:Business Login for Direct Businesses。
上記の記事で説明した手順に従って、特定のFacebookユーザーアカウントに関連付けられておらず、期限が切れないページトークンを生成できるようになったことがわかります(FBアプリが削除されるか、基になるアプリケーショントークンがない場合)削除されます、あなたは知っています...)
手順と最も重要な部分は次のとおりです。
- Business Managerアカウントが必要です。
- 確認が必要で、デジタル契約に署名する必要があります。
- そのアカウントにターゲットFacebookページを追加する必要があります。
- Facebookアプリを作成し、そのアプリを同じBusiness Managerアカウントにも転送する必要があります。
- 次の権限が必要になるため、アプリはFacebookのレビュープロセスを実行する必要が
manage_pages
ありpublish_pages
ます。
- 重要な注意点生成ページトークンを使用して作成された投稿をアプリケーション管理者以外のユーザーに表示するには、そのアプリを公開して承認する必要があります。
- レビューのために送信せずにコンセプトを試すことはできますが、投稿は公開されません。
- Business Managerアカウントで(アプリとページがアカウントに追加された後のみ)、システムユーザーと呼ばれるものを作成する必要がありますし、そのユーザー管理ロール(または権限)をターゲットFacebookページに付与する必要があります。
- システムユーザーはBusiness Managerアカウントによって所有され、特定のユーザーに関連付けられていません。私の現在の理解では、システムユーザーの1つの主な使用例は、FacebookのGraph APIへのプログラムによるアクセスです(必要なものだけ)。
- 次に、そのシステムユーザーに対して、アクセストークンを生成する必要があります(有効期限はありません)。アプリを選択するように求められます。次に、ターゲットアプリを選択します。
- 次に、生成されたアプリトークンを使用してページトークンを生成する必要があります。これも期限切れになることはありません。手順はこの記事では次のように説明されています。
GET /<PAGE_ID>?fields=access_token&access_token=<SYSTEM_USER_ACCESS_TOKEN>
このトークンは期限切れになることはなく、特定のFacebookユーザーに関連付けられることもないため、まさにそれが必要です。
最後の部分は、FacebookアプリがFacebookによって承認されるようにすることです。人々が私たちの投稿を見なければ、全体の手順は価値がないので、それは実際に最も重要な部分です。
私は上記の手順に頼ってFacebookが最終的に拒否することなくクライアントのために何かを構築できることを確認したかったので、事前に(つまり、クライアントのプロジェクトに取り掛かる前に)、ページ、アプリ、Business Managerアカウントなどを作成しています。ビジネスを確認しました。アプリを審査のために送信しました。私のリクエストでは、私はユースケースについて非常に具体的であり、アプリは「自己使用」用であることを強調しました(つまり、組織は他のFacebookユーザー向けではなく、自社でアプリを開発している)。24時間も経たないうちに承認されました。
アプリレビュープロセスに関するその他の注意事項:
- アプリのプラットフォームを選択する必要があったため、ウェブサイトを選択しました。
- アプリに2つのアクセス許可が必要な理由と、それをどのように使用するかを示す必要がありました。
- レビュー担当者がアプリにサインインしてそれを試すことができない理由を示す必要がありました(つまり、アプリがワーカープロセスで使用されるため)。
- 必須のスクリーンキャストについては、ターミナルでの手動操作を、
curl
(ページトークンを生成してFacebookページに投稿するための)ユーティリティ。また、Business Managerを使用してシステムユーザーをページにリンクし、トークンを生成する方法なども示しました。
- 繰り返しになりますが、私は自分のユースケースについて非常に具体的であり、それが役に立ったと思います。
この情報が同様のユースケースを持つ人々に役立つことを願っています。