如何使用PHP通过API获取instagram照片?
最近两天,我试图通过原始PHP显示来自Instagram个人资料的照片.但是我遇到了这些错误.
Last two days I was trying to display photos from my Instagram profile by raw PHP. But I'm getting these errors.
Notice: Trying to get property of non-object in E:\xampp7\htdocs\instagram\index.php on line 29
Warning: Invalid argument supplied for foreach() in E:\xampp7\htdocs\instagram\index.php on line 29
我通过instagram API创建了正确的身份验证.我请求的API clients access
有效(clientId, userId, accessToken
).当我用PHP失败时,我尝试使用JavaScript插件 instafeedjs .现在,它运作良好.这是我的PHP代码,如下所示:-
I created proper authentication from instagram API. My requested API clients access
is valid (clientId, userId, accessToken
). When I failed with PHP than I tried with a JavaScript Plugin instafeedjs. Now It’s working well. Here is my PHP code, given below:-
<body>
<?php
function fetchData($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$result = fetchData("https://api.instagram.com/v1/users/3550421370/media/recent/?access_token=MY_VALID_ACCESS_TOKEN_IS_HERE");
$result = json_decode($result);
foreach ($result->data as $post) {
if(empty($post->caption->text)) {
// Do Nothing
}
else {
echo '<a class="instagram-unit" target="blank" href="'.$post->link.'">
<img src="'.$post->images->low_resolution->url.'" alt="'.$post->caption->text.'" width="100%" height="auto" />
<div class="instagram-desc">'.htmlentities($post->caption->text).' | '.htmlentities(date("F j, Y, g:i a", $post->caption->created_time)).'</div></a>';
}
}
?>
</body>
您的API端点错误. 这是从Instagram获取用户最近媒体的API:
Your API endpoint is wrong. This is the API to fetch recent media of an user from Instagram:
https://api.instagram.com/v1/users/self/media/recent/?access_token=ACCESS-TOKEN
获取access_token所有者发布的最新媒体.
Get the most recent media published by the owner of the access_token.
参数
访问令牌 A valid access token.
max_id Return media earlier than this max_id.
min_id Return media later than this min_id.
计数 Count of media to return.
了解更多: https://www.instagram.com/developer/endpoints/users/#get_users_media_recent_self