1
<?php
require_once"includes/strings.php";
require_once"php/function.php";
require_once"php/config.php";
require_once"php/app.php";

$currentFBuserid = "0";

///////FACEBOOK GET USER INFORMATION
session_start();
// Enter the app id and secret below
define('YOUR_APP_ID', '$fbAppID');
define('YOUR_APP_SECRET', '$fbAppSecret');

require_once"php/fbsdk/src/facebook.php";

$facebook = new Facebook(array(
  'appId'  => $fbAppID,
  'secret' => $fbAppSecret,
));

$userId = $facebook->getUser();
if($userId){
    $userInfo = $facebook->api('/' + $userId);
           }

さて、問題は約2時間ごとに単純で、サイトでセッションが期限切れになり、エラー「致命的なエラー: キャッチされていないOAuthException: アクセストークンの検証中にエラーが発生しました: セッションはUNIX時間1352329200で期限切れになりました.

現在の UNIX 時間は 1352330589 です。/home/######/public_html/php/fbsdk/src/base_facebook.php の 1238 行目にスローされます"

このサイトをどれだけスクレイピングしても、問題が何であるかを理解するのは不可能です.

ところで:(ページを更新すると問題が解決します)

本当に助けが必要です。ありがとうございました!

4

1 に答える 1

0

さて、問題は約 2 時間ごとに単純で、私のサイトでセッションが期限切れになり、エラー「致命的なエラー: キャッチされていない OAuthException: アクセストークンの検証中にエラーが発生しました: セッションは UNIX 時間 1352329200 で期限切れになりました。

クライアント側のフローを使用して取得したユーザー アクセス トークンは、2 時間後に期限切れになります。

それらを拡張するか、サーバー側のフローを使用することができます。どちらも 60 日間有効なトークンになります。

https://developers.facebook.com/roadmap/offline-access-removal/

(最新バージョンの PHP SDK には、存続setExtendedAccessToken期間の短いトークンを拡張するために呼び出されるメソッドがあります。)

ところで:(ページを更新すると問題が解決します)

JS SDK を使用してログインを行っている場合は、もちろん更新すると、Facebook への新しいクロスドメイン リクエストが行われ、有効期間が短い新しいアクセス トークンが取得されます。

于 2012-11-08T09:16:16.860 に答える