0

グラフ API を使用して、ユーザーのアルバムのリストを取得しています。ユーザーがサインアウトしたり、パスワードを変更したり、エラー状態になったりした場合、応答がありませんが、エラーコードが返されるはずです。ブラウザで開いたときにグラフ API の URL にエラーが表示されますが、file_get_contents() を使用するとエラー 400 が発生します。curl を使用すると、空の応答が返されます。エラーが発生したときとその理由を知る方法はありますか?

4

3 に答える 3

0

ブラウザで開いたときにグラフ API の URL にエラーが表示されますが、file_get_contents() を使用するとエラー 400 が発生します。

これは、Facebook が Oauth エラーで送信する HTTP ステータス コードです。これは間違いではありません。

ただしfile_get_contents、デフォルトでは、エラーを通知する HTTP ステータス コードの場合、実際の HTTP レスポンス本文の内容は表示 されません…</p>

…これは、公式の PHP SDK を使用する必要があるもう 1 つの理由です。公式の PHP SDK を使用する必要があります。PHP SDK は、これらすべてを適切に処理し、何が起きているかを正確に示す例外を表示します。

そうしてください。


(それでも、file_get_contents最初に対応するオプションを使用して「ストリーム コンテキスト」を設定すると、レスポンスのボディ コンテンツを取得できます。ただし、PHP SDK を使用する方がはるかに簡単なので、もう一度: 実行してください。)

于 2012-12-10T08:49:48.143 に答える
0

file_get_contents の代わりに curl を使用したところ、問題は解決しました。

于 2012-12-10T11:12:45.070 に答える
-1

file_get_contents() は、http の代わりに https を入力したとき、またはそれらのいずれかを入力するのを忘れた場合に何度もエラーを出しました。

コンテンツを取得する URL は、次のように先頭に「http」を付ける必要があります。

file_get_contents(" http://www.mysite.com ");

これで解決すれば?

于 2012-12-10T09:50:38.813 に答える