2017-03-05 6 views
0

私のレスポンスと情報を取得するために電話をかけ、それを印刷してすべて表示されていることを確認します。youtube v3からの応答エラーを読むには

$data = file_get_contents([CALL TO API] ); 
$data = json_decode($data, true); 
print("<pre>".print_r($data,true)."</pre>"); 

コールが良好であれば、私の結果は問題ありません。 しかし、テスト中に、私はそれが失敗した理由とその理由を知る必要があります。

オンラインテストのデモエリアでは、失敗した場合にこれを取得します。

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "youtube.subscription", 
    "reason": "subscriptionForbidden", 
    "message": "The requester is not allowed to access the requested subscriptions." 
    } 
    ], 
    "code": 403, 
    "message": "The requester is not allowed to access the requested subscriptions." 
} 
} 

しかし、私は板のページを取得します。
は、だから私は、その後

var_dump(headers_list()); 
var_dump(http_response_code()); 

と私のリターンヘッダを見て決めたこれ見ての通り、それは私に「200」OKヘッダを与え、それ以外あまりされていない私に

array(1) { [0]=> string(23) "X-Powered-By: PHP/5.4.7" } 
int(200) 

を与えます。 それでは、YouTubeのDEMOページに私に何が表示されているのかを確認するにはどうすればいいですか?
これは、後で自分のサイトが終了したときのエラーチェックに役立ちます。

答えて

1
$data = file_get_contents([CALL TO API]); 
print_r($data); // Will print the response HTTP body 
print_r($http_response_header); // Will print the response HTTP headers 
+0

お返事ありがとうございます。 "$ http_response_header"は私にArray([0] => HTTP/1.0 403 Forbidden [1] => Vary:X-Origin [2] => Content-Type:application/json; charset = UTF-8 [キャッシュ制御:private、max-age = 3、5月2017 16:18:25 GMT [5] => X-XSS-Protection:1; mode = block [9] => X-Frame-Options: GSE [10] => Alt-Svc:quic = ":443"; ma = 2592000; v = "36,35,34" [11] =>受け入れ範囲:なし[12] => -Encoding)しかし、まだYouTubeの情報は再取得されていません。 – Tempus

+0

何らかの理由で、** 403 Forbidden **のステータスが明らかになっています。理由を調べるには、* youtube v3 *のドキュメントをご覧ください。がんばろう。 –

+0

私は403コードの理由を知っています。私の問題は、エラーのAPI応答を取得することができませんでした。私はAPIから印刷可能な応答が欲しいです。しかし、ヘッダーを少しずつ読むのを手伝ってくれてありがとう。 P.S. print_r($ data)はこれまでどおり何もしませんでした。 – Tempus

関連する問題