web-dev-qa-db-ja.com

Instagram APIは、サンドボックスユーザーのいいねされた投稿を見つけられません

Instagram APIをサンドボックスモードで使用しています。認証済みのアクセストークンを使用して、Instagram APIからユーザーのお気に入りの投稿にアクセスしようとしています。このユーザーは、私のアプリの承認済みサンドボックスユーザーの1人であり、いくつかの投稿が気に入りました。

同じトークンで他のエンドポイントを呼び出すと、いくつかのデータを取得しますが、/users/self/media/likedは空のデータを返します。

このURLを使用しています:

https://api.instagram.com/v1/users/self/media/liked?access_token={verified access token}

これは私が受け取っている結果です:

{"pagination": {}, "meta": {"code": 200}, "data": []}

200のリターンコードがあるため、アクセストークンは有効です。いいねされた投稿が表示されないのはなぜですか?

27
coderz

アプリがサンドボックスモードで動作する場合、通常の動作と比較して制限されます。特に( サンドボックスのAPIドキュメント から引用):

APIは、Instagramのユーザーのみがサンドボックスユーザーであるかのように動作し、これまでに投稿されたメディアは、これらの各ユーザーの最後の20人だけでした。

そのため、サンドボックス以外のユーザーが投稿した場合、APIはユーザーが気に入った投稿を表示できません。


シナリオは次のとおりです。

仮定:

  1. 世界中に100人のinstagramユーザーがいるとしましょう(たとえば、もっと知ってます!)。
  2. APP1という名前のアプリはライブであり、サンドボックスモードではありません。
  3. APP2という名前のアプリはサンドボックスモードです[つまり、まだライブではありません!]。
  4. APP2には5人の検証済みおよび登録済みサンドボックスユーザーがいます。

さて、Instagramのドキュメントが言ったように:ここにブラックボックスの流れがあります。

状況1 ::APP1は、サンドボックス/非サンドボックスユーザーの「いいね!」を受け入れようとします-結果:データを取得します。理由:ライブアプリの場合、アプリに表示されるユーザーの数は、Instagramで利用可能なユーザーの数です。

状況2 ::APP2はユーザーのいいねを受け入れようとします:サンドボックスの場合user-ユーザーがこのアプリのサンドボックスユーザーとして登録されているデータ(ここのようなもの)のみを取得します。サンドボックス以外のユーザーに対する他のいいねは、ここには表示されません。 {5人のユーザーが存在するかのように、それらの5人のユーザーのコンテンツを好むユーザーがいる場合、それは表示されます。}非サンドボックスユーザーの場合-ユーザーは表示されません!

visibilityの最後の部分を見逃したため、調査のためにいくつかの研究と相関関係が必要になりました。サンドボックスユーザーのドキュメントの可視性の部分を理解していない他の開発者がいる可能性があると思います。

68
coderz

6月1日以降にこの問題が発生した場合は、 instagram.pixelunion.net

後で私はより良いものを見つけました services.chrisriversdesign.com/instagram-token/

17
kaya

自分のinstagramの写真のようなシンプルなソリューション。そうすれば、「最近のいいね」は他のサンドボックスユーザー(あなた)のいいねを増やし、空になりません。

3
robert king

まだ取得している場合

{"pagination": {}, "meta": {"code": 200}, "data": []}

他のコールの場合、例えば.

https://api.instagram.com/v1/users/self/media/recent?access_token=732...

[設定]-> [プライバシーとセキュリティ](タブ)-> [アカウントプライバシー](セクション)に移動して、パブリックアカウントを呼び出してください。'プライベートアカウント'のチェックを外す Instagramは最近、より厳格なAPIの変更によりプライバシーを再定義しています。

0