Instagram Graph API:媒体缩略图URL

时间:2017-09-13 21:29:43

标签: facebook-graph-api facebook-php-sdk instagram-api

我在商业帐户中使用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_urlcaption 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_pagesinstagram_basic),特殊设置或错误(我不这么认为,但以防万一......)。

我失踪了什么?

1 个答案:

答案 0 :(得分:3)

看起来像thumbnail_url is available for videos only。我的解决方案是使用PHP处理图像以获取调整大小的媒体对象版本并对其进行缓存,这样我就无法在每次请求时重新生成图像。