Instagramのwebページへの埋込のエラーについて
解決したいこと
インスタグラムを埋め込み
現在、webページにInstagramを埋め込みたいのですが、うまく行きません。
Instagramは「Instagram Graph API」を用いてPHPまで取得しています。
「index.php」に取得したソースを入力してテストサーバーにアップしたのですが、エラー表示になってしまいました。
原因を調べてみたのですが、よくわかりませんでした。
どなたか原因がわかる方いらっしゃらないでしょうか?
ファイル構成は
├ css
│ └ style.css
├ js
│ └ script.js
├ index.php
└ instagram.php
になっています。
Warning
: file_get_contents(https://graph.facebook.com/v6.0/108201405608464?fields=name%2Cmedia.limit(3)%7Bcaption%2Cmedia_url%2Cthumbnail_url%2Cpermalink%7D&access_token=EAACLPV0TVWMBAIFzJZAGi64JigZAFp0w6LzHBMMUjjun2M8t4HeOBkHZA4gZAv9lttP8fQk4DfR2Ab4SCWApkulU2IKXXLC2IVssudwgLzAIaYjU4GyfhZB85kNPCxbKwu8JaZAdMoZA2hX4efODLgxoBIZAvWUseVBj6k4NVZB69hFGYTYGfHb8l): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in
NameError (uninitialized constant World)
### 該当するソースコード
Warning
: file_get_contents(https://graph.facebook.com/v6.0/108201405608464?fields=name%2Cmedia.limit(3)%7Bcaption%2Cmedia_url%2Cthumbnail_url%2Cpermalink%7D&access_token=EAACLPV0TVWMBAIFzJZAGi64JigZAFp0w6LzHBMMUjjun2M8t4HeOBkHZA4gZAv9lttP8fQk4DfR2Ab4SCWApkulU2IKXXLC2IVssudwgLzAIaYjU4GyfhZB85kNPCxbKwu8JaZAdMoZA2hX4efODLgxoBIZAvWUseVBj6k4NVZB69hFGYTYGfHb8l): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in
### 該当のソースコード
[index.php]
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>test</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="js/script.js"></script>
<h1>タイトル</h1>
<?php include('./instagram.php'); ?>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</body>
</html>
[instagram.php]
<ul class="insta_list">
<?php
$insta_media_limit = '3';
$insta_business_id = '【InstagramビジネスアカウントID】';
$insta_access_token = '【アクセストークン】';
$json = file_get_contents("https://graph.facebook.com/v6.0/{$insta_business_id}?fields=name%2Cmedia.limit({$insta_media_limit})%7Bcaption%2Cmedia_url%2Cthumbnail_url%2Cpermalink%7D&access_token={$insta_access_token}");
$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$obj = json_decode($json, true);
$insta = [];
foreach ($obj['media']['data'] as $k => $v) {
if ($v['thumbnail_url']) {
$data = [
'img' => $v['thumbnail_url'],
'caption' => $v['caption'],
'link' => $v['permalink'],
];
} else {
$data = [
'img' => $v['media_url'],
'caption' => $v['caption'],
'link' => $v['permalink'],
];
}
$insta[] = $data;
}
foreach ($insta as $k => $v) {
echo '<li><a href="' . $v['link'] . '"><img src="' . $v['img'] . '"></a></li>';
}
?>
</ul>
<div class="insta_btn"><a href="https://www.instagram.com/【ユーザーネーム】/">view more</a></div>
例)
```ruby
def greet
puts Hello World
end
自分で試したこと
作業する際に参考にしたサイトです。
サンプルコードなどを利用しています。
エラーに関してのサイトは見つけられていません。
0