1

これは、ここでのいくつかの質問に似ていますが、私を助けた答えを生み出すものはありませんでした. 特定のアルバムの写真を取得するために ac#/.Net アプリケーションからグラフ API を呼び出していますが、403 エラーが発生することがあります。

開発環境でエラーを受け取ったことはなく、本番環境でのみ発生しました。また、応答を 1 時間キャッシュしているため、アプリケーションが特定の 1 時間に API にヒットするのは、一度にすべてではなく、約 20 回になります。私は現在、エラーが発生して画像が表示されないときに例外を飲み込んでいますが、それは長期的な解決策ではありません。

var request = WebRequest.Create("https://graph.facebook.com/ALBUM_ID/photos");
var stream = request.GetResponse().GetResponseStream();

これは約 1 か月前に発生し始めたばかりですが、重大な変更リストにこの動作を示唆するものは何もありませんでした。任意の洞察をいただければ幸いです。

アップデート

これは、応答ストリームに隠されていました。

{"error":{"message":"(#4) Application request limit reached","type":"OAuthException","code":4}}

APIに数回しかアクセスしていないことを考えると、どのように制限に達する可能性があるのか​​ 、私の人生ではわかりません。

4

1 に答える 1

3

access_token を必要としない FB グラフ API エンドポイントの 1 つに GET 要求を行う場合、それを要求パラメーターに含めるべきではないという意味ではありません。FB のドキュメントに記載されているように access_token を含めない場合、FB サーバー側でサーバー マシンに登録されます。そのため、制限 (正確な量が何であれ) には非常に簡単に到達できます。ただし、ユーザー アクセス トークンをリクエストに入れると (&access_token=XXXXXX)、リクエストは特定のユーザーに登録されるため、制限に達することはほとんどありません。ユーザー access_token の有無にかかわらず、1000 件のリクエストを作成する簡単なスクリプトでテストできます。

注、同じ問題に直面するため、FB アプリ アクセス トークンは十分ではありません。リクエストはアプリ access_token に登録されます。この状況は、access_token なしでリクエストを行うのと同じです。

于 2013-07-11T08:15:02.203 に答える