0

Facebookのapi()方法を使用すると、許可を得たときに正しく機能しますが、ユーザーが拡張許可を拒否し、phpスクリプトがそのデータを要求すると、エラーが発生し、スクリプトがスタックします。したがって、api()要求後、それ以上の命令は実行されません。

そのエラーをどのように処理できますか?私が言ったようにスクリプトが動かなくなったので、私はそれらのデータにアクセスしてエラーがあることを見つけることさえできません。

4

2 に答える 2

3

Facebookがエラーコードを返すたびに、FacebookAPIはFacebookApiExceptionを返します。

したがって、api()メソッドを呼び出すときは常にtry-catchブロックを使用してください。

try{
    f.api("whatever"); 
}catch (FacebookApiException $e) {
      // most likely that user very recently revoked authorization.
      // In any event, we don't have an access token, so say so.
      echo "Something went wrong";
}
于 2012-05-05T10:42:26.273 に答える
1

ユーザーはいつでも権限を取り消すことができるため、以前に権限が付与されていたとしても、それがまだ有効であるとは限りません。

権限のない特定のデータを要求するときにFacebookが固執している場合、唯一の解決策は、コマンドを実行する前に、必要な権限があるかどうかを確認することです。

Facebookで特別な権限を確認する方法を参照してください

于 2012-05-05T10:33:25.553 に答える