0

私はこの答えに従おうとしていました:

https://stackoverflow.com/a/3331372/1063287

したがって、私のphpドキュメントには、以下の変数がありました。

$json = file_get_contents("https://gdata.youtube.com/feeds/api/videos/{$video_id}?v=2&alt=json");
$json_data = json_decode($json);
$video_title = $json_data->{'entry'}->{'title'};
$video_date = $json_data->{'entry'}->{'published'};
$video_duration = $json_data->{'entry'}->{'media:group'}->{'yt$duration'};
$video_views = $json_data->{'entry'}->{'yt$statistics'}->{'viewCount'};
$video_description = $json_data->{'entry'}->{'content'};

しかし、それは私にエラーを与えました:

警告: file_get_contents() [function.file-get-contents]: 12 行目の /home/path/to//file.php のサーバー構成で URL ファイル アクセスが無効になっています

警告: file_get_contents( https://gdata.youtube.com/feeds/api/videos/xx-xxxxxxx?v=2&alt=json ) [function.file-get-contents]: ストリームを開くことができませんでした: 適切なラッパーがありません/home/path/to/file.php の 12 行目にあります

ここで開発者ガイドを見てきました:

https://developers.google.com/youtube/2.0/developers_guide_php

ここでフィードとエントリの構造を理解できます。

https://developers.google.com/youtube/2.0/developers_guide_protocol_understanding_video_feeds#Understanding_Video_Entries

いくつかの解決策(curlを含むもの)を見つけましたが、それらは機能していないか、使用するのに最適な方法であるかどうかわかりませんでした.

上記のコードに何か問題があるかどうか、誰か教えてもらえますか?

4

2 に答える 2

1

これは、サーバーに OpenSSL がインストールされていないことが原因である可能性があります。インストールしてみてください。それでもうまくいかない場合は、php.ini で HTTP アクセスが無効になっている可能性があります (allow_url_fopen を true に設定してください)。

于 2012-11-04T13:42:38.830 に答える
1

私が見た中で最も良かったのZend_GData_Youtubeは、Zend Framework です。特別なことは何も必要ありませんが、通常の cURL や JSON リクエストよりもはるかに簡単です!

そこを参照してください:http://framework.zend.com/downloads/latest

于 2012-11-04T13:45:15.657 に答える