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

问题描述 投票:2回答:1

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

No connection could be made because the target machine actively refused it
php json curl instagram-api
1个回答
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访问令牌,所以我使用服务器端脚本来获取最新帖子。

© www.soinside.com 2019 - 2024. All rights reserved.