我想从我的Instagram帐户中获取最新帖子,并且我正在使用此API页面: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
答案 0 :(得分:0)
此终结点的问题:
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访问令牌,因此我正在使用服务器端脚本来获取最新帖子。