[解決済み] ユーザー認証を行わずに、Instagramからユーザーのメディアを取得するにはどうすればよいですか?
質問
ユーザーの最近のInstagramのメディアをサイドバーに表示しようとしています。Instagram APIを使用してメディアを取得しようとしています。
http://instagram.com/developer/endpoints/users/
ドキュメントによると、GET
https://api.instagram.com/v1/users/<user-id>/media/recent/
しかし、OAuthアクセストークンを渡すように書かれています。アクセストークンは、ユーザーの代理で行動するための権限を表します。私は、サイドバーにこれを表示するために、ユーザーにInstagramにログインして欲しくありません。Instagramのアカウントを持っている必要さえないはずです。
例えば http://instagram.com/thebrainscoop Instagramにログインしていない状態で、写真を見ることができます。それをAPIで行いたい。
Instagram APIでは、ユーザーを認証しないリクエストには
client_id
の代わりに
access_token
. それを試すと、出るんですけどね。
{
"meta":{
"error_type":"OAuthParameterException",
"code":400,
"error_message":"\"access_token\" URL parameter missing. This OAuth request requires an \"access_token\" URL parameter."
}
}
では、これは不可能なのでしょうか?まずOAuthを通してユーザーにInstagramアカウントへのログインを求めずに、ユーザーの最新(公開)メディアをフェッチする方法はないのでしょうか?
解決方法は?
遅くなりましたが、Instagramのドキュメントに記載がなかったので、どなたかのお役に立てれば幸いです。
に対してGETを実行するには
https://api.instagram.com/v1/users/<user-id>/media/recent/
(執筆時点では)OAuthアクセストークンは必要ありません。
を実行することができます。
https://api.instagram.com/v1/users/[USER ID]/media/recent/?client_id=[CLIENT ID]
[CLIENT ID]は、manage clientsを通じてアプリに登録された有効なクライアントIDになります(ユーザーとは一切関係ありません)。
ユーザー名から[USER ID]を取得するには、GET users search requestを実行します。
https://api.instagram.com/v1/users/search?q=[USERNAME]&client_id=[CLIENT ID]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン