我想从我的Instagram帐户获取最新帖子,我正在使用这个api url:https://api.instagram.com/v1/users/[USER_ID]/media/recent?access_token=[ACCESS_TOKEN]
当我在浏览器中粘贴此URL时,我可以看到字符串JSON,但我找不到解码它并使用对象属性的方法。我正在使用PHP和cURL来获取和解码JSON。它总是返回NULL。我的cURL功能是这样的:
function fetchData($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
最后:
$url = https://api.instagram.com/v1/users/[USER_ID]/media/recent?access_token=[ACCESS_TOKEN]
$result = fetchData($url);
var_dump(json_decode($result));
我在这做错了什么?我也测试了file_get_contents
或cURL
,但它给了我这个错误:
No connection could be made because the target machine actively refused it
此端点的问题:
https://api.instagram.com/v1/users/[USER_ID]/media/recent?access_token=[ACCESS_TOKEN]
是不可能使用您自己的访问令牌获取公共媒体。只能使用生成的令牌获取自媒体。所以正确的端点应该是
https://api.instagram.com/v1/users/self/media/recent?access_token=[ACCESS_TOKEN]
这适用于服务器和客户端,但因为必须保护instagram访问令牌,所以我使用服务器端脚本来获取最新帖子。