ログってなんぼ

日々のメモです

feedly APIにgems/feedlrでアクセスしてみる

token取得

こちらで認証を行います

feedly cloud | developer

任意の認証方法を選び、access tokenを取得しておきます。

f:id:Okisanjp:20170212132159p:plain

access tokenの有効期間は1ヶ月です。自動でリフレッシュもできるのかな・・?今回は未調査

あとで読む一覧を表示

試しに「Saved for Later」の一覧をURLとともに表示してみます

github.com

feedlrというgemを使わせていただきます

ちなみに2017/2/13現在、github上のREADME.mdに記述の有る使用可能なclient methodsの一覧を表示する

client = Feedlr::Client.new
p client.api_methods

は使えなくなっている模様なので

 client = Feedlr::Client.new
 p client.methods.sort - Object.methods

上記のようにすれば使えます

[:add_entry, :add_subscription, :add_to_evernote, :add_to_onenote, :add_topic, :change_category_label, :change_tag_label, :delete, :delete_category, :delete_subscription, :delete_tag, :delete_tags, :delete_topic, :evernote_notebooks, :facebook_suggestions, :feed, :feeds, :get, :import_opml, :lastest_tagged_entries, :logger, :mark_article_as_read, :mark_article_as_unread, :mark_articles_as_read, :mark_articles_as_unread, :mark_categories_as_read, :mark_category_as_read, :mark_feed_as_read, :mark_feeds_as_read, :oauth_access_token, :post, :preferences, :put, :sandbox, :search_feeds, :search_stream, :shorten_entry, :stream_entries_contents, :stream_entries_ids, :stream_most_engaging, :sync_read_counts, :tag_entries, :tag_entry, :twitter_suggestions, :undo_mark_categories_as_read, :undo_mark_category_as_read, :undo_mark_feed_as_read, :undo_mark_feeds_as_read, :unlink_evernote, :unlink_facebook, :unlink_microsoft, :unlink_twitter, :untag_entries, :untag_entry, :update_preferences, :update_profile, :update_subscription, :update_topic, :user_categories, :user_entries, :user_entry, :user_opml, :user_profile, :user_subscriptions, :user_tags, :user_topics, :user_unread_counts]

こんな感じです

一応READMEの修正プルリクしておきました・・

サンプルコード

# -*- coding: utf-8 -*-

require 'feedlr'

Feedlr.configure do |config|
  config.oauth_access_token = 'YOUR_ACCESS_TOKEN'
end

client = Feedlr::Client.new
# p client.methods.sort - Object.methods

# あとで読むタグのID
g_save_id = client.user_tags[0].id

# あとで読む記事のIDs
entry_ids = client.stream_entries_ids(g_save_id)['ids']

# 記事の内容
entries = client.user_entries entry_ids

# 表示

entries.each do | entry |
  p entry.title
  p entry.alternate[0]['href']
  p "--------------------------"
end

実行

$ ruby ./feedlycheck
"iOSアプリの画像サイズについてまとめ直した"
"http://qiita.com/landlandjapan/items/13553d1ca5b7d88ba665?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items"
"--------------------------"
"Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita"
"http://qiita.com/h_network21/items/a4cbff763b9ee8a7879a"
"--------------------------"
"激安CSS - Qiita"
"http://qiita.com/shiozaki/items/0e42e101b7483df13c8f"
"--------------------------"
"野良ビッグデータへのお誘い"
"http://www.slideshare.net/MasanoriTakano1/ss-71239981"
"--------------------------"
"行動ログでプロダクトを改善するには/exploit user behavior for product // Speaker Deck"
"https://speakerdeck.com/penguinco/exploit-user-behavior-for-product"
"--------------------------"
"正規表現チェックツールまとめ - Qiita"
"http://qiita.com/AQRiL_1132/items/c185c7ad84c129e5a2df"
"--------------------------"
"だから正式なIRでやれ、マックスむらいのAppBankが盗作騒動をYouTubeで謝罪 : 市況かぶ全力2階建"
"http://kabumatome.doorblog.jp/archives/65882049.html"
"--------------------------"
"クラウドサービス「Alibaba Cloud」日本市場向けに提供開始"
"http://rss.rssad.jp/rss/artclk/gAFuq_8FUb6r/c95565eff963c7bf975af7ce208ee711?ul=g2XpAbkbjnFp7WIeKytbLPdKRvP_R0f7rMY9Vu00rtX5gVXORhuMoBV4Wyqxg4H55EDxAKU"
"--------------------------"
"Amazon Auroraアップデート – 空間インデックス・ゼロダウンタイムパッチ"
"https://aws.amazon.com/jp/blogs/news/amazon-aurora-update-spatial-indexing-and-zero-downtime-patching/"
"--------------------------"
"IoT普及へ専用の通信規格 国内初の実証実験始まる | NHKニュース"
"http://www3.nhk.or.jp/news/html/20161124/k10010783141000.html"
"--------------------------"
"アプリ用のランディングページを新しいgoogleサイトで作ってみる"
"http://qiita.com/shota_low/items/7a64d719f3f0967b2717?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items"
"--------------------------"
"「MacBook Pro」を2週間使ってみて--注目の新機能「Touch Bar」はどこまで便利か - CNET Japan"
"http://japan.cnet.com/news/commentary/35092291/"
"--------------------------"
"アマゾン、注文から1時間で届く「Prime Now」東京23区全域にエリア拡大 - Engadget 日本版"
"http://japanese.engadget.com/2016/11/15/1-amazon-prime-now-23/"
"--------------------------"
"PHP 5からPHP 7への移行で、Tumblrはレイテンシが半分、CPU負荷も半減。テストツールでPHP 7への移行に問題ないかをチェック - Publickey"
"http://www.publickey1.jp/blog/16/php_5php_7tumblrcpuphp_7.html"
"--------------------------"
"Twitter、ミュート機能を拡大 指定したキーワードやハッシュタグを含むツイートを非通知化 | アプリオ"
"http://appllio.com/twitter-additional-mute-option"
"--------------------------"
"JVNTA#94087669: 細工された PDF による情報詐取について"
"http://jvn.jp/ta/JVNTA94087669/"
"--------------------------"
"職場の小さなデザイン - おのにち"
"http://yutoma233.hatenablog.com/entry/2016/11/15/081049"
"--------------------------"
"メルカリが4期目で売上100億円超えを達成し黒字化した件 : 東京都立 戯言学園"
"http://www.zaregoto-gakuen.com/archives/67307819.html"
"--------------------------"
"Minimal - Bean to Bar Chocolate - |  ビーントゥーバー チョコレート専門店 ミニマル"
"http://mini-mal.tokyo/info/2016/11/15/%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B-%E6%9D%BF%E3%83%81%E3%83%A7%E3%82%B3%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/"
"--------------------------"
"Web制作者が備えておきたい最新版チートシートのまとめ、CSS3 Flexbox, CSSアニメーション, jQuery3, ES6, Bootstrap4など | コリス"
"http://coliss.com/articles/build-websites/operation/work/cheat-sheets-for-front-end-developers.html"
"--------------------------"

Rate Limit

当然と言うか、feedly cloud APIにもRate Limitがあります

https://developer.feedly.com/v3/#rate-limiting

#<NoMethodError: undefined method `id' for ["errorCode", 429]:Array>

code 429がRate Limitのエラーのようです

feedly API公式ドキュメント

The feedly Cloud API

TODO

  • ブラウザを使わずにtokenを取得・更新する方法ってあるのかな
  • feedly cloud apiにはsandboxがあるらしい