0

RSS Graffitiのようにphp SDKを使用してfacebookにautoを投稿したいので、すべてにこのスクリプトを使用していますが、うまく機能していますが、ここで1つの問題に直面しています

$facebook = new Facebook(array(
            'appId' => 'appId',
            'secret' => 'secret',
            'fileUpload' => true
        ));   


$facebook->setExtendedAccessToken();
$access_token = $_SESSION["fb_".$fb_appId."_access_token"];

$facebook->setAccessToken($access_token);
$accessToken = $facebook->getAccessToken();

$user_id = $facebook->getUser();
$fbuser = $user_id;

echo $accessToken ;

このスクリプトは accessToken を受け取り、それを mysql に保存するので、60 日間使用できます。私はこのアプリを自分のためだけに使用しているので、RSS の代わりに mysql を使用しています。 ..

問題:

accessToken を取得するたびに、Facebook に手動でログインする必要があります (トークンだけを取得するために自動的に行うことはできますか)?

SDK でログイン情報を使用して自動ログインし、accessToken を取得できますか? もしそうならどのように?

私はそれを機能させるために60日ごとにaccessTokenを取得したいと考えています。

だから助けてください

4

1 に答える 1

1

アクセス トークンに関して多くの混乱があるようです。

user access token-については、次の点に注意してください。

  1. 有効期間が短いトークンは、ユーザーがアプリケーションと対話する場合にのみ取得できます (より具体的には、ユーザーがアプリにログイン/承認する場合)

    有効期限:最大2時間

  2. 長期トークンは短期トークンとの交換できます。次のリクエストを使用します。

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

    有効期間: 60 日

そのため、ログイン有効トークンを (有効期限が切れる前に) 更新したい場合は、アプリケーションで使用されるログイン フローにユーザーを送り返すことで取得できる有効期間の短いトークンが必要になることは明らかです。 (実際には再認証ではなく、新しいトークンを取得するためだけです)

有効期限とトークンの拡張の詳細については、こちらの開発者サイトをご覧ください

編集

ファンページに投稿したいだけなら、page_access_token. 期限のないファン ページ トークンは、1 回限りのプロセスで取得できます。それを使用して、ページでアクションを実行できます。

このディスカッションの受け入れられた回答を参照してください:サーバーから Facebook ファンページに投稿するための長期的なトークンを取得する手順は何ですか?

于 2013-09-04T19:30:35.360 に答える