如何使用PHP获取最新的Instagram帖子

时间:2017-03-02 14:47:22

标签: php json curl instagram-api

我想从我的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_contentscURL,但它给了我这个错误:

No connection could be made because the target machine actively refused it

1 个答案:

答案 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访问令牌,因此我正在使用服务器端脚本来获取最新帖子。