Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第6回

3.694 Aufrufe

Veröffentlicht am

2015年7月4日に開催された、「【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第6回」での発表資料です。
ショートセッション(10分程度)で発表しました。

Instagram Ruby gem を使って調査してみました。
詳しい説明は、Instagram Web API を見たほうがよいと思います。
今回は、user_recent_mediaメソッドを使て、ユーザーの最近の写真投稿を取得して表示してみます。
その中で、調べたことや学んだことをまとめています。

=================

「Ruby / Ruby on Rails ビギナーズ勉強会」は初心者が集まって発表したり、自主学習する勉強会です。定期開催しています。

★勉強会で発表されたスライド、動画をまとめています。
Ruby / Ruby on Rails ビギナーズ勉強会 スライド・動画 #coedorb
http://matome.naver.jp/odai/2143761931840509901

★開催の連絡は以下の方法で受け取ることができます。

## DoorKeeperグループ
イベント申し込みを受け付けている、DoorKeeper でのグループです。
https://coedo-rails.doorkeeper.jp/

## Facebookグループ:
イベント告知や技術情報をお互いにシェアしています。
https://www.facebook.com/groups/rorbeginners/

## Twitterハッシュタグ
ハッシュタグは、 #coedorb です。
Twitterにもイベント、勉強会の情報を流しています。


★勉強会を動画収録しています。

## Ustreamで勉強会を中継しています。
http://www.ustream.tv/channel/ruby-ruby-on-rails-%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E3%82%BA%E5%80%B6%E6%A5%BD%E9%83%A8

## Youtubeでセッションを動画収録しています。
https://www.youtube.com/playlist?list=PL2ojdc4KhtHniIyIUx3AdO621ydzz5zpP

  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { https://urlzs.com/UABbn } .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第6回

  1. 1. 【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第6回 Ticklecode Yoshinori Kobayashi 1 Instagram Ruby Gem と Instagram API から学んだことまとめ Instagram Ruby Gem でユーザーの最近の投稿を取得する
  2. 2. 2 生まれは 奈良県 です 小林由憲(こばやしよしのり) Twitter: TickleCodeブログ: @yoshiii514
  3. 3. もくもく会(自主勉強会) を複数の運営メンバーや アドバイザーの方々と ともに、定期開催しています。 勉強会を開催しています)^o^( 3 【CoEdo.rb】 Ruby / Ruby on Rails ビギナーズ勉強会 Swiftビギナーズ勉強会 WordPressもくもく 勉強会 http://wp-moku.doorkeeper.jp/ https://swift-beginners.doorkeeper.jp/ https://coedo-rails.doorkeeper.jp/ 自己紹介
  4. 4. 4 Instagram Ruby Gem を使えるようにする
  5. 5. 5 Rails と Instagram Ruby Gem を使って作る世界遺産検索サイト Instagram Ruby Gem を使えるようにする。 Instagram と Instagram Ruby Gem の概要については 以前にスライドでまとめた。 InstagramのAPIを使って画像をひっぱてくる - Qiita 最初の設定はこちらの記事がよくまとまっています。 重要な箇所を補足します。
  6. 6. 6 Instagram Ruby Gem を使えるようにする。 アプリケーション登録をして、CLIENT ID(クラ イアントID), CLIENT SECRET(クライアント シークレット)を取得する。 Register a Client Instagram Developer Documentation
  7. 7. 7 取得したCLIENT ID, CLIENT SECRETを記述する。 require "instagram" Instagram.configure do |config| config.client_id = "INSTAGRAM_CLIENT_ID" config.client_secret = "INSTAGRAM_CLIENT_SECRET" end Instagram Ruby Gem を使えるようにする。 /config/initializers/instagram.rb
  8. 8. 8 ユーザーの最近の投稿を取得する
  9. 9. 9 home_controller.rb 結果、user_recent_media メソッドで取得できる。 class HomeController < ApplicationController def index @user = Instagram.user_recent_media(12413015,{:count => 20}) end end index.html.erb <% @user.each do |p| %> <%= image_tag(p.images.low_resolution.url,:class => "img- rounded") %> <% end %> ユーザーの最近の投稿を取得する
  10. 10. 10 自分の最近の投稿が取得できている。 ユーザーの最近の投稿を取得する Railsの勉強になったので、ここまでの手順をまとめてみる。
  11. 11. 11 ユーザーの最近の投稿を取得する ユーザーの直近の情報を取得したい。 Qiita の記事から user_recent_media がそれっぽい! とわかる。 パラメタとかもう少し、使い方を知りたい。
  12. 12. 12 ユーザーの最近の投稿を取得する instagram-ruby-gem/lib/instagram/client/users.rb 詳しくは、こちらをみて!と書かれている。 @see http://instagram.com/developer/endpoints/users/#get_users_media_recent user_recent_media メソッドを探してみる。
  13. 13. 13 GET /users/user-id/media/recent https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN ユーザーの直近のメディアを取得する。アクセストークンの所有者によって最も直近のメディアを取得 させるために、あなたは user-idの代わりにselftを使うことができる。 [パラメーター] COUNT 取得するメディアの件数 MAX_TIMESTAMP この日時(UNIX timestamp)より以前のメディアを取得 ACCESS_TOKEN 有効なアクセストークン ※Instagram Ruby Gem では自動で設定される。 MIN_TIMESTAMP この日時(UNIX timestamp)より以後のメディアを取得 MIN_ID このメディアIDより後を取得 MAX_ID このメディアIDより前を取得 Instagram: get_users_media_recent ユーザーの最近の投稿を取得する Instagram Web API ドキュメント どこまで使えるか確認できる。
  14. 14. 14 ACCESS TOKEN アクセストークン とは トークン はプログラムでは単語や記号の最小単位。 セキュリティでは、パスワードを発行する機器、または 認証用の文字列を生成する仕組み。 Instagram ではユーザーIDとパスワードを入力してログ インして、使用できる。 Webサービスのリクエストベースではログイン画面で入 力するのは難しいので、CLIENT ID, CLIENT SECRETか ら生成された文字列(アクセストークン)を付加しても らうことで認証している。 ユーザーの最近の投稿を取得する
  15. 15. 15 ACCESS TOKEN アクセストークン は必要なときに、 Instagram Ruby gemが、CLIENT ID, CLIENT SECRETか ら生成してくれる。 ユーザーの最近の投稿を取得する require "instagram" Instagram.configure do |config| config.client_id = "INSTAGRAM_CLIENT_ID" config.client_secret = "INSTAGRAM_CLIENT_SECRET" end /config/initializers/instagram.rb
  16. 16. 16 GET /users/user-id/media/recent https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN ユーザーの直近のメディアを取得する。アクセストークンの所有者によって最も直近のメディアを取得 させるために、あなたは user-idの代わりにselftを使うことができる。 [パラメーター] COUNT 取得するメディアの件数 MAX_TIMESTAMP この日時(UNIX timestamp)より以前のメディアを取得 ACCESS_TOKEN 有効なアクセストークン ※Instagram Ruby Gem では自動で設定される。 MIN_TIMESTAMP この日時(UNIX timestamp)より以後のメディアを取得 MIN_ID このメディアIDより後を取得 MAX_ID このメディアIDより前を取得 https://instagram.com/developer/endpoints/users/#get_users_media_recent ユーザーの最近の投稿を取得する あと、user-id(ユーザーID)をどうするか・・・
  17. 17. 17 Instagram ではユーザー名しかわからない。 ユーザーの最近の投稿を取得する
  18. 18. 18 http://jelled.com/instagram/lookup-user-id# ユーザー名からユーザーIDを取得してあげる。 ユーザーの最近の投稿を取得する
  19. 19. 19 次は、user_recent_media リクエストがわかったの で、レスポンスを確認してみる。 ユーザーの最近の投稿を取得する Instagram: get_users_media_recent
  20. 20. 20 home_controller.rb Viewでデバックしてみる。 class HomeController < ApplicationController def index @user = Instagram.user_recent_media(12413015,{:count => 20}) end end index.html.erb <% @user.each do |p| %> <%= debug p %> <%= image_tag(p.images.low_resolution.url,:class => "img- rounded") %> <% end %> ユーザーの最近の投稿を取得する
  21. 21. 21 ユーザーの最近の投稿を取得する debug での出力結果で確認 standard resolution が標準解像度(640x640) low resolution が低解像度(320x320) 出力結果を見て、どのデータが使えるか、「アタリ」をつける。
  22. 22. 22 階層をたどって、イメージを取得すればOK! index.html.erb <% @user.each do |p| %> <%= debug p %> <%= image_tag(p.images.low_resolution.url,:class => "img- rounded") %> <% end %> ユーザーの最近の投稿を取得する debug での出力結果
  23. 23. 23 最後に 8月はTokyuRuby会議に行きます! (ビギナーズは9月に開催予定) ぜひ、みんなで行きましょう!
  24. 24. 24 今後の問い合わせ先 何かございましたら、 ご連絡ください(・∀・) Twitter: @yoshiii514 Facebook: Yoshinori.Koba Mail: info@ticklecode.com 最後に
  25. 25. 25 ご清聴ありがとうございました。

×