解決済み!これは、呼び出しが必要なgetExpiresAt()メソッドではありません。これは、あなたが「そうdoesnのあなたが有効なタイムスタンプに変数$ EXPIRATIONDATEを設定する必要があり、これは直接そのgetExpiresAt()戻り値である
$accessToken = new \Facebook\Authentication\AccessToken($this->accessToken, $expirationDate);
のコンストラクタに投稿された同じ情報を取得するのみゲッターでありますアクセストークンの検証をチェックするために使用するセンスがあります。 、アクセストークンの正しい有効期限を取得するには次のようにリクエストを使用してリモート呼び出しを実行する必要があります。
try {
$response = $this->fb->get('/debug_token?input_token=' . $this->accessToken);
}
catch(\Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$this->lastError = 'FaReEx: ' . $e->getMessage();
return false;
}
catch(\Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$this->lastError = 'FaSDKEx: ' . $e->getMessage();
return false;
}
$graphObject = $response->getGraphObject();
return $graphObject->getProperty('expires_at'); // This is a DateTime php object
デバッグここでは、トークン、およびそれが言うことを参照してください。https://developers.facebook.com/tools/debug/accesstoken /そして、あなたは本当にリクエストを行う前にトークンの妥当性をチェックする必要はありません...トークンが無効であるためリクエストが失敗した場合、APIはレスポンスであなたに通知します。 – CBroe
問題は、私がプログラムでチェックする必要があることです。オンラインツールを使用するのではなく、これはWebserveによって行われるためです。私は - > get()メソッド呼び出しを実行してwebserviceのパフォーマンスを向上させる前にトークンの検証をしたいと思っています – mp3man
私は手動でチェックするように頼んだので、あなたのコードに問題があるかどうかを確認できます。 // APIに1つのリクエストを行い、その結果が何であるかを見るのではなく、最初にトークンの妥当性をチェックしてから実際にデータを取得するリクエストをしたいと思っています。 1つではなく2つのリクエストがパフォーマンスを向上させる予定ですか? – CBroe