前提・実現したいこと
facebookのgraph apiでインスタグラムの特定のハッシュタグの投稿を取得し、一覧で表示させたのですが動画の場合はサムネイルが表示されるようにしたいです。
fieldsにthumbnail_urlを追加するとエラーが発生し、データの取得ができません。
どうすればよろしいでしょうか。
発生している問題・エラーメッセージ
エラーメッセージ "message": "(#100) Please read documentation for supported fields.",
該当のソースコード
下記コードは動画の場合は動画が表示されるようにしています。
PHP
1<?php 2 $graphapi_url = 'https://graph.facebook.com/v12.0/'; 3 $hashtag_id = '*******';//ハッシュタグID 4 $condition = 'recent_media'; 5 $count = '20'; //画像取得数 6 $id = '*******'; //InstagramビジネスアカウントID 7 $token = '*******'; // 無期限アクセストークン 8 $fields = 'id,media_type,media_url,permalink,like_count,comments_count,caption,timestamp,children{id,media_type,media_url}'; 9 $data_url = "{$graphapi_url}{$hashtag_id}/{$condition}?user_id={$id}&access_token={$token}&fields={$fields}&limit=18"; 10 11?> 12 13<ul id="insta_list"> 14<?php 15 echo '<a href="'.$data_url.'>abc</a>';//内容確認用URL 16 $json = file_get_contents("$data_url"); 17 $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 18 $obj = json_decode($json, true); 19 $obj_data = $obj['data']; 20 $insta = []; 21 22 foreach ($obj_data as $k => $v) { 23 if($v['children']){ 24 $data = [ 25 'type' => $v['media_type'], 26 'img' => $v['media_url'], 27 'caption' => $v['caption'], 28 'link' => $v['permalink'], 29 'childs' => $v['children'], 30 ]; 31 } else { 32 $data = [ 33 'type' => $v['media_type'], 34 'img' => $v['media_url'], 35 'caption' => $v['caption'], 36 'link' => $v['permalink'], 37 ]; 38 39 } 40 41 $insta[] = $data; 42 } 43 foreach ($insta as $k => $v){ ?> 44 <?php if($v['type'] == 'VIDEO'){ ?> 45 <li><a href="<?php echo $v['link']; ?>" target="_blank"><video playsinline autoplay muted><source src="<?php echo $v['img']; ?>"></video></a></li> 46 <?php } elseif($v['type'] == 'CAROUSEL_ALBUM') { ?> 47 <li> 48 <a href="<?php echo $v['link']; ?>" target="_blank"> 49 <ul> 50 <?php 51 foreach ($v['childs']['data'] as $c => $a){ 52 if($a['media_type'] == 'VIDEO'){ 53 echo '<li><video playsinline><source src="' . $a['media_url'] . '"></video>'; 54 } else { 55 echo '<li><img src="' . $a['media_url'] . '">'; 56 } 57 } 58 ?> 59 </ul> 60 </a> 61 </li> 62 <?php } else { ?> 63 <li><a href="<?php echo $v['link']; ?>" target="_blank"><img src="<?php echo $v['img']; ?>"></a></li> 64 <?php } ?> 65 <?php } ?> 66</ul> 67
試したこと
$fields = 'id,media_type,media_url,permalink,like_count,comments_count,caption,timestamp,children{id,media_type,media_url}';
にthumbnail_urlを追加しましたが
色々調べ試してみましたがわからず、質問させていただきました。
補足情報(FW/ツールのバージョンなど)
graph apiのバージョンは12.0です。
あなたの回答
tips
プレビュー