Hatena::Groupptech

ぷちてく RSSフィード

Archive
 
ProfileProfile

2012-10-19

TwitterのRSSをリーダ登録するBookmarklet 10月以降対応

04:12

どーもこんちわ。2013-03-05 まで取得できるように取り急ぎ改修した。ここ最近非APIドメインのやつ遮断されたようだけど、割と気づくのに時間かかってしまった

2013-03-05 までというのは現時点の口約束なので、Twitter社に良心がなければもっと寿命無くなる

API v1.1になったら、かえってスクレイピングの嵐で逆効果だとよそうちゅう

Bookmarklet

iframe埋め込みなので、出なかったらリンク先から

「2012/10/06 06:00:57」以前にドラッグしたひとは入れ直すといいとおもう。ちょいちょい変な実装のときあった

http://let.hatelabo.jp/noromanba/let/gYC-yZ-91I7yEg

ローダー経由してないから、ちゃんと Chrome + https://twitter.com/ (HTTPS) 以下でも使える。べんり

どうしてこうなった

取得が、っていうのは @ さんの記事が参考になる。ふぁぼ取得とかも載ってる。@++!

記事には書いてないけど、前まで Atom 版のフィードもあった。試しに叩いてみたらいなかった。たぶん消えた

Twitter検索で代用もあるけど

最初に見た id:thrakt さんの記事が lifehacker*1 のネタ元になってたからみんなこっち使いそう。id:thrakt++!

確かに何となく Atom 取れるんだけど、体質的にTwitterは検索がアレなので*2https://api.twitter.com/1/statuses/user_timeline/USERID.rss からAPI叩く方がいいとおもう

コード本体

現時点でこんな感じ。fork してvar readerのとこ、好きなRSSリーダ(アグリゲータ)に変えてね

/*
 * @title +Subscribe Twitter RSS
 * @description Twitter RSS Subscribe to Feed Reader (Forked)
 * @contributor m4i http://let.hatelabo.jp/m4i/let/gYC-yZKMjtONHg (Fork of)
 * @include http://twitter.com/*
 * @include https://twitter.com/*
 * @license MIT License http://nrm.mit-license.org/2012
 */

// c.f. http://ptech.g.hatena.ne.jp/noromanba/20121019/1350673927
(function () {
    // TODO refactor: smart data-* handling
    // http://www.w3.org/TR/html5/global-attributes.html#embedding-custom-non-visible-data-with-the-data-attributes
    var id;
    if (!(/^https?:\/\/twitter\.com\/\w+/.test(location.href)) ||
        !(id = document.querySelector('div[data-user-id]')) ||
        !(id = id.dataset.userId)) { // or id.getAttribute('data-user-id')
        return;
    }

    var reader = 'https://www.google.com/reader/view/feed/';
    // lifetime: 2013-03-05
    var feed = encodeURIComponent('https://api.twitter.com/1/statuses/user_timeline/' + id + '.rss');
    location.href = reader + feed;
})();
http://let.hatelabo.jp/noromanba/let/gYC-yZ-91I7yEg

いつもどおり MIT License

HTML5 data-* のハンドリングがいけてない件

後で書く

いつの間にかtwttrオブジェクトがいない件

後で書く*3

Chrome + HTTPSの暗黙スクリプトブロック

今度書く

Hatena::Let・HerokuApp等のHTTPS対応の必要性

今度書く

Googleリーダーに再登録するスクリプト

誰か書く*4

*1:どこかののコンテンツをドヤ顔で「スゲーだろ!」って紹介するだけの簡単なお仕事です

*2Twitterの特色として、自分で自分を知らないというのがある。検索結果マトモにだせなかったりするのは普通なので勘弁してあげて

*3twttr.profileUser.idとかできなくなった

*4キャッシュやスター分考慮して古いフィードは保持したいから「 - OBSOLETE」とか付けて、新しいフィード購読して、同じタグ付けと旧フィード一つ下に位置調整 とか。ね?やりたくないでしょ

トラックバック - http://ptech.g.hatena.ne.jp/noromanba/20121019