我正在使用this PHP Instagram Client尝试访问Instagram的API,但每当我尝试访问它时,我都会收到此消息:
object(stdClass)#4 (1) {
["meta"]=>
object(stdClass)#2 (3) {
["code"]=>
int(400)
["error_type"]=>
string(25) "OAuthAccessTokenException"
["error_message"]=>
string(37) "The access_token provided is invalid."
}
}
我无法弄清楚我做错了什么。
到目前为止,这是我的代码:
$instagram = new MetzWeb\Instagram\Instagram('......');
$result = $instagram->getPopularMedia();
var_dump($result);
当我检查我的$instagram
对象时,里面的数据似乎不正确,因为似乎没有访问令牌。
object(MetzWeb\Instagram\Instagram)#3 (7) {
["_apikey":"MetzWeb\Instagram\Instagram":private]=>
string(32) "...."
["_apisecret":"MetzWeb\Instagram\Instagram":private]=>
NULL
["_callbackurl":"MetzWeb\Instagram\Instagram":private]=>
NULL
["_accesstoken":"MetzWeb\Instagram\Instagram":private]=>
NULL
["_signedheader":"MetzWeb\Instagram\Instagram":private]=>
bool(false)
我错过了什么?
答案 0 :(得分:3)
正如你在github repo上看到的那样:
注意: 2015年11月17日,Instagram对其API进行了更改。应用 在2015年11月17日之前创建,直到2016年6月才会受到影响。应用程序 在2015年11月17日或之后创建的将需要使用其更新的API。 请注意,此库尚不支持其新更新。 有关详细信息,请参阅#182。
意味着该库尚不支持最新的Instagram API。
<强>更新强> Instagram只允许经过身份验证的API调用,不再进行公共调用。
绕过公共电话的唯一方法是从Instagram上“抓取”数据。那里有几个刮刀。
它基本上取出:https://www.instagram.com/jerryseinfeld/media/并解析JSON。您可以通过从消息中获取#tags来获取所有标记。