前提・実現したいこと
YouTubeのAPIを使って動画情報を取得しているのですが、タグも併せて取得したいです。
発生している問題・エラーメッセージ
タグの指定方法がわからず、取得できません。
以下のソースコードの$resには次の"tags"が取得されるのですが、しかしこの"tags"は上図のタグではないのです。
上図にあるように「#Dplay」と「#ディスカバる」というタグを取得したいのですが・・
"tags": [ "ディスカバリーチャンネル", "エド・スタッフォード", "ドキュメンタリー", "サバイバル", "ディスカバリー", "サバイバルリスト" ]`
該当のソースコード
以下、動画情報を取得するコードになります。$resで上図にある「#Dplay」と「#ディスカバる」というタグを取得したいのですが・・
PHP
1$id = 'Msr4QyPTcgA'; 2$id_arr = [ $id ]; 3$ids = urlencode( implode(",", $id_arr) ); 4 5$api_key = 'xxx'; 6$endpoint = "https://www.googleapis.com/youtube/v3/videos?id="; 7$fragment = "&fields=items(id,snippet(title,thumbnails,tags))&part=snippet"; 8$curl = $endpoint . $ids . $fragment . "&key=" . $api_key; 9$res = cuGet_contents( $curl ); 10var_dump( $res ); // 「#Dplay」と「#ディスカバる」というタグを取得したい 11 12function cuGet_contents( $curl ){ 13 $ch = curl_init(); 14 curl_setopt( $ch, CURLOPT_URL, $curl ); 15 curl_setopt( $ch, CURLOPT_HEADER, false ); 16 curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); 17 curl_setopt( $ch, CURLOPT_TIMEOUT, 10 ); 18 $result = curl_exec( $ch ); 19 curl_close( $ch ); 20 return $res; 21}
試したこと
日本語で公式ドキュメントがあります。
https://developers.google.com/youtube/v3/docs/videos?hl=ja
読んでみると、上記ソースコードのように
$fragment = "&fields=items(id,snippet(title,thumbnails,tags))&part=snippet";
と指定すれば取得できるかのように書いてあるのですが、しかしtitleとthumbnailsは目的のものなのに、tagsだけが目的と違います。
ドキュメントにはほかにetagという指定もあり、以下のように試したのですがこれも目的のものではありませんでした。
$fragment = "&fields=items(id,etag,snippet(title,thumbnails))&part=snippet";
補足情報(FW/ツールのバージョンなど)
上記ドキュメントにあるとおり、バージョンはData API v3を使用しています。
どうすれば「#Dplay」と「#ディスカバる」というタグを取得できるか、かなり路頭に迷っています。
もしお使いになったご経験のある方がいらっしゃいましたら、何か試すべき事柄などございませんでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/23 00:21
2020/03/23 00:25
2020/03/23 07:32
2020/03/23 10:26