3

PHP 経由で Web サイトから指定された facebook ページにストーリーを公開する必要があります。オフライン アクセス パーミッションは廃止されたため、基本的にはユーザー アクセス トークンを取得してページ アクセス トークンを取得する必要があります (ページとして投稿するため)。私が間違っていれば私)。

つまり、いわばバックグラウンドでログインする方法があるので、ユーザーアクセストークンの有効期限が切れた場合、ユーザーにログインして新しいアクセストークンを取得できますか? それとも、終わりのないユーザー アクセス トークンを取得し、それを介して終わりのないページ アクセス トークンを取得する方法はありますか?

特に私が公開したいウェブサイトとFacebookページを所有している場合、なぜそれが難しいのか理解できません.

4

2 に答える 2

6

私はこれを行う方法を見つけて、質問に答えるためにstackoverflowを検索しました:)

まず、拡張アクセス トークンを要求する必要があるのはユーザーではなく、あなたです。独自のユーザーのアクセス トークンを拡張する必要があります。ユーザーのアクセス トークンは、https://developers.facebook.com/tools/accesstoken/の「ユーザー トークン」という名前で確認できます。

次のステップは、このリクエストを作成して、このトークンの寿命を延ばすことです:

GET /oauth/access_token?  
  grant_type=fb_exchange_token&           
  client_id={app-id}&
  client_secret={app-secret}&
  fb_exchange_token={short-lived-token}

{app-id}とは、 developers.facebook.com{app-secret}のアプリケーションのダッシュボードにある情報であり、{short-lived-token}は、今見つけた「ユーザー トークン」です。

php SDK を介してこの呼び出しを行う必要はありません。ページをリクエストするようにブラウザーを使用するだけですgraph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app-id}&client_secret={app-secret}&fb_exchange_token={short-lived-token}(注: の形式で値が返されますaccess_token={access-token}&expires={seconds}。したがって、すべてをコピーしないでください。)

これで、この拡張ユーザー トークンを使用してページ アクセス トークンを取得すると、それは不滅になります。新しいトークンを使用してこの API 呼び出しを行います (注: 呼び出しを行う前に、この呼び出しを行うための権限「manage_pages」と、後でページに投稿するための権限「publish_actions」を付与する必要があります。これを行う最も簡単な方法は、https://developers.facebook.com/tools/explorer/の「アクセス トークンを取得」ボタンをクリックして、付与する必要があるアクセス許可は「拡張アクセス許可」タブの下にあります。):

GET /me/accounts

ページのリストとその情報の一部を、それぞれのアクセス トークンとともに取得します。

これらのアクセス トークンには有効期限がありません。https://developers.facebook.com/tools/debug/で確認できます。

于 2014-10-10T17:16:08.213 に答える
0

ページのコネクタ アプリを作成してから、アプリの永続的なアクセス トークンを取得する必要があります。このプロセスの詳細については、Facebook ドキュメントのアプリとしての認証ページを参照してください。

于 2012-08-06T12:57:02.000 に答える