JavaScript: Instagram API を使って自分の写真を取得・表示する jQuery プラグイン

Instagram

JavaScript お勉強メモ。jQuery のプラグイン化してみるお勉強の記録その3です(目標達成まであと7つ)。


Index


jquery.akInstagram の Demo

See the Pen by akey (@akey) on CodePen.

jquery.akInstagram のこと

リポジトリ

指定したセレクタ内に自分の Instagram の写真を出力するプラグインです。

Instagram で アクセストークンを取得する

1. Instagram で Developer 登録をする

普段使用している Instagram アカウントでログインしてください。

上記 URL にアクセス後、[ Register Your Application ] ボタンをクリックします。Developer 登録をしていない人はこの後 [ Developer Signup ] 画面に移動しますので、そこで開発者登録をします。

JavaScript: Instagram

2. アプリケーションの登録

JavaScript: Instagram

[ Register a New Client(新しいアプリを登録) ] ボタンをクリックし、アプリケーション登録をしていきます。ウェブ上で利用する場合は、自分のサイト情報を入力していけば良いと思います。

JavaScript: Instagram
  • Applictaiton Name - アプリケーションの名前(適当で OK)
  • Dscription - 説明など
  • Website - サイトの URL
  • OAuth redirect_uri - アクセストークンの取得時にリダイレクトされるURL(適当でも OK ぽい)
  • Disable implicit OAuth - チェックを入れたまま
  • Enforce signed header - チェックが入っていないまま

[ OAuth redirect_uri ] は、あとで行うアクセストークンの取得時にリダイレクトされるURLになります。

3. アクセストークンの取得

アプリケーションを作ったので、CLIENT-IDREDIRECT-URI を使用して下記にアクセスします。

https://instagram.com/oauth/authorize/?client_id=【CLIENT-ID】&redirect_uri=【REDIRECT-URI】&response_type=token`</pre>

認証すると下記のようなURLがかえってきます。

【OAuth redirect_uri に指定したURL】#access_token=【ACCESS-TOKEN】

この【ACCESS-TOKEN】の部分が自身のアクセストークンになります。

うまくいかない場合は、Disable implicit OAuth のチェックを一時的に外すとよいです。

プラグインの使い方

アクセストークンを使ってデータを取得する処理はサーバサイドで行って、その URL を指定できるような仕様にしました。

$('#novels').akInstagram({
  request_url: YOUR_REQUEST_URL // データを取得する処理をしてくれるファイルの URL を指定
});

サーバサイドでなんちゃらを「やりたくない」とか「できない」といった場合に、リクエスト URL の代わりにアクセストークンを指定することもできるようにしています。

$('#novels').akInstagram({
  access_token: YOUR_ACCESS_TOKEN // 自身のアクセストークンを指定
});

アクセストークンを直接指定する場合は、JS ファイルに直接アクセストークンを記述することになってしまうので、他人に知られることになります。許容できる人は使ってください。

アクセストークンが知られるリスクについて & アクセストークンを使ってデータを取得する処理は下記を参考にさせていただきました ;D

jquery.akInstagram の Options

オプションは ここ にまとまっています。


Booklog プラグイン同様 DOM 自体自由に出せたらいいのに・・・問題、どうやって実現するかの手法は決めました。本当に必要だろうか?と考え中ですが、お勉強のため、出力時の自由度アップの仕組みをうまいことやる!つもりです。

Share

Comments