我在商业帐户中使用Instagram Graph API,几乎一切都运转正常。我已经创建了一个Facebook SDK的WordPress端口,并且检索媒体项的函数看起来像这样(类的一部分,$fb
对象已经使用类构造函数中的default_access_token
进行了身份验证) :
public function get_media( $business_account_id = '', $limit = 15 ) {
$limit = absint( $limit );
try {
$response = $this->fb->get( "/{$business_account_id}?fields=media.limit({$limit}){media_url,caption,thumbnail_url,permalink}" );
return $response->getDecodedBody();
} catch ( \Facebook\Exceptions\FacebookResponseException $e ) {
return $e->getMessage();
} catch ( \Facebook\Exceptions\FacebookSDKException $e ) {
return $e->getMessage();
}
}
我们要求的字段包括:media_url
,caption
, thumbnail_url
和permalink
。 API会响应除thumbnail_url
以外的所有字段:
array(2) {
["media"]=>
array(2) {
["data"]=>
array(15) {
[0]=>
array(4) {
["media_url"]=>
string(91) "https://scontent.xx.fbcdn.net/..."
["caption"]=>
string(356) "[...]"
["permalink"]=>
string(40) "https://www.instagram.com/p/.../"
["id"]=>
string(17) "..."
}
...
}
["paging"]=>
array(2) {
["cursors"]=>
array(2) {
["before"]=>
string(123) "..."
["after"]=>
string(122) "..."
}
["next"]=>
string(438) "https://graph.facebook.com/v2.10/..."
}
}
["id"]=>
string(17) "..."
}
我使用Graph API Explorer得到相同的回复,这让我觉得与我的应用有关,可能是权限(目前为manage_pages
和instagram_basic
),特殊设置或错误(我不这么认为,但以防万一......)。
我失踪了什么?
答案 0 :(得分:3)
看起来像thumbnail_url
is available for videos only。我的解决方案是使用PHP处理图像以获取调整大小的媒体对象版本并对其进行缓存,这样我就无法在每次请求时重新生成图像。