質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Instagram API

Instagram APIは、写真共有SNSであるInstagramの投稿写真をWebサイトに掲載するためのAPIです。取得することでWebサイトと連携し、自動的に投稿写真を表示することができます。

Facebook Graph API

Facebook Graph APIとは Facebookのグラフデータベース用のAPIであり、対応言語はPHP、Perl、ActionScript、JavaScriptなどがあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

1571閲覧

facebookのgraph api v12.0でインスタグラムの投稿一覧を取得し、動画の場合はサムネイルを表示したい。

chan_maru1018

総合スコア0

Instagram API

Instagram APIは、写真共有SNSであるInstagramの投稿写真をWebサイトに掲載するためのAPIです。取得することでWebサイトと連携し、自動的に投稿写真を表示することができます。

Facebook Graph API

Facebook Graph APIとは Facebookのグラフデータベース用のAPIであり、対応言語はPHP、Perl、ActionScript、JavaScriptなどがあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/12/16 10:00

編集2021/12/16 10:41

前提・実現したいこと

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です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問