基本的な使い方は上記のサイトに丁寧にまとめられている。
【注意すべき点】
他のユーザーと関わりのあるメソッドの使用にはかなり慎重な制限がかけられている。
例えば、Likeをつけたり削除したりするPOST・DELETEメソッドや、写真にコメントするPOST・DELETEメソッドなどにはかなり慎重な制限がかけられており、単純にパラメータを付与してAPIを叩けばよいというものになっていない。
①アクセストークンをヘッダに付加しなければならないメソッド一覧
POST |
/users/{user_id}/relationship |
POST |
/media/{media_id}/comments |
DEL |
/media/{media_id}/comments/{comment_id} |
POST |
/media/{media_id}/likes |
DEL |
/media/{media_id}/likes |
「Manage Clients」の「EDIT」からクライアントの設定を変更し、「Enforce signed header」の部分にチェックを入れる。
そうすると、POST、DELETEメソッドを使うときに「X-Insta-Forwarded-For」という名前のHTTPヘッダが付加される。
Instagram側は「X-Insta-Forwarded-For」の内容をチェックしてからAPIを発動させるので、「X-Insta-Forwarded-For」に以下の2つの情報を付与してやればよい。
A. IPアドレス (※テストモードで通信する場合は「127.0.0.1」が利用できる)
B. Client SecretをHMAC-SHA256でハッシュ化した値
AとBを「|」で繋いで完成
【例】AFNetworking使用時にHTTP Headerに情報を付加して通信
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
[manager.requestSerializer setValue:@"127.0.0.1|7e3c45bc34f56fd8e762ee4590a53c8c2bbce27e967a85484712e5faa0191688" forHTTPHeaderField:@"X-Insta-Forwarded-For"];
こんな感じ。(#^ω^)ピキピキ...
【Instagram APIの闇まとめ】
最終更新:2014年12月31日 05:18