2017-09-13 19 views
0

私はInstagram Graph APIをビジネスアカウントで使用していますが、ほぼすべて正常に動作します。InstagramグラフAPI:メディアサムネイルURL

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(); 
    } 
} 

:私はFacebookのSDKのWordPressのポートを作成している、とメディア・アイテムを取得する関数は、次のようになります(クラスの一部、$fbオブジェクトがすでにクラスのコンストラクタにdefault_access_tokenを使用して認証されます)あなたが見ることができるように、私が要求しているフィールドは: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_pagesinstagram_basic)、特別な設定バグ(私はそうは思わないが、場合によっては...)。

私が紛失していることはありますか?

+0

あなたはbusiness_account_idの取得方法を教えていただけますか? –

答えて

0

thumbnail_url is available for videos onlyのように見えます。私の解決策は、メディアオブジェクトのサイズ変更されたバージョンを取得してキャッシュするためにPHPで画像を処理し、すべての要求で画像を再生成しないようにすることです。