OAuthでハマったのでメモ
twitter の OAuth認証を、と思ってごそごそ調べては試行錯誤。OAuthの一次情報、仕様を見ながら、自分でサインを作ればこんなにハマらなかったと思うんだけど、ラクしようと思って、perl の Net::OAuth ver0.20に投げたのが始まりだ。
以下のページを参考にさせていただいて、CPANからOAuthをインストールすればラクショーっぽいぞ、と。
https://blog.photoble.net/archives/category/memo/oauthtwitter
https://sayama-yuki.cocolog-nifty.com/blog/2009/09/twitteroauth-d7.html
甘かった。
その1.最初のリクエストで oauth_callback_confirmed が返ってこない
その2.twitterから、リダイレクトされて戻ってきたときには 401。認証されず、 oauth_verifier も返ってこない。
なんじゃそりゃ、と。延々ググりまくって今朝未明まで。今日も天気だというのに早起きして、ググる。…ヒットしないんだけど、どうやら OAuthの 1.0 と 1.0a の違いが原因っぽい。oauth_callback_confirmed も oauth_verifier も 1.0a から導入されたパラメータ、てことだ。OAuthで作られるパラメータを確認してみると、指定しているにも関わらず、callbackが入っていない。
Net/OAuth/で grep してみて OAuth.pm を読んでようやく解決。
request パラメータを組み立てるところに
一行入れるだけ、だった。
↑これが正しいリクエストヘッダー
CPANは便利なんだけど、素人芸の、ブラックボックス、コピペ使いは限界があるんだよなあ。
ここが通ったら次はアクセストークン取得でそれの扱いをどうするのか、またググる、か。でも気力体力が尽きたので以下次号だ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
perl パズル
縦書きtwitterを眺めると、全角にしてタテに並べるURLがうっとーしー。除去するのは簡単だけど、twitterの性格上、リンクは必需品なので、どうにかできないものか、と。
記入されているのがURLだったら、それを削除して別エリアにリンクを表示させたい。
最初、push だけで、イケんじゃないかと思ったら甘かった。pushの返り値、配列の要素の数が入ってしまう。なので、無意味な sprintf を噛ませてみた。なんか不恰好だけど、欲しい結果が得られるので良しとするか。…うううむ、やっぱかっちょわりいなあ。
て、まわりくどい阿呆だった。
これだけでOK
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
日当たり
ウチは東向きなので、午前中は窓際が暑いほど。
ついこないだ書き直した写メ(死語か)投稿スクリプト。中途半端な状態で放置していたところがあって、びっくり。最近こういうの増えてきた、ような気がする悪寒。途中まで考え考え書いて、疲れて動いてるしまあいいや、ちょっと休憩、したらすっかり忘却の彼方。
ぼーっとすごす週末であります。
[12/20 21:30:55]
てことでまた仕事が始まるわけだが。
船頭多くして船山に登る、仕事場。
誰のGOサインでいくのか、はっきりしないのでまったくやってられない。完成間近のページも、後から覗く別の誰かがイチャモンつけるとそれでやり直しになってしまう。それならそれで、最初からその別の誰かが打ち合わせて過程も見てろよ、と。制作の現場が混乱するだけ。
だけど良いものになりましたよね、て。阿呆か、だ。良いものにしたいのは誰だって当然だし、時間かけてやればよいものになるのは当たり前。だけど、それじゃ仕事じゃないだろ。締め切りがあってそれまでにベストのものを仕上げるのが仕事じゃ。
あーだこーだ言われるのに、なんだかほんとにうんざりしてきてる、初老性欝な週末だ。めんどくさい
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
へたれ広角レンズ
と思ってたKitstar28mmだけど、どうやら腕の問題だったような。
先々週に続いて、先週水元公園に行ったときに撮った写真を、今日引き取ってスキャニング。先週は露出計の電池を入れるのを忘れたので、セコニックの露出計とテキトーな勘で合わせてパシャパシャ。COSINA CT1SUPERとセコニックで、示す露出が明らかに違っている。CT1の方はそろそろ寿命なのか、数段オーバーなのだ。
今回の、もしかするとこっちが適正な露出で撮った写真を見ると、そこそここってりとした色乗りで艶のある写真が上がってきた。て、そもそもこの時期、色の炸裂する水元公園を撮って、失敗写真になる方が難しいんだけど。
COSINA CT1 SUPER Kitstar 28mm CENTURIA200
サギだかなんだか。ひとに慣れてるというか馴れ馴れしいというか、釣り人のすぐ脇にまでよってきて、魚を狙ってるっぽい。
↓ヘタレ広角レンズKitstar28mmで撮った先週の水元公園
ttp://www.holeinthewall.jp/~butch/zakki/camera.pl?id=101
縦書きtwitter に ajaxの小ネタを仕込んで。久しぶりにウチでjavascriptとcssのコンビを調べる。キライだイヤだというのは変わらないけど、javascriptって、ブラウザのオマケじゃなくて、きちんとしたインタプリタ(?)なので、ちょっと驚く。全部連想配列なんだよねえ。
てことで、部屋でジダラクに正しく飲んだくれる週末。あっという間に一年が終わろうとしていて、いろいろ考えないといかんのだけど。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
縦書き twitter その後
APIを使って、取得したtwitterのデータを縦書きで表示する、名づけて「たてたったー」に、擬似縦書きもどき入力フォームをつけて、入力時にも縦書きで確認できるようにしてみた。
ttp://www.holeinthewall.jp/~butch/zakki/tatetatter.pl
こういう小ネタはjavascriptの出番。prototypeとかjQueryを使うまでもなく、textareaに入力された文字を keyup のたびに読み込んで、用意したdiv要素の中に表示していく。一見リアルタイム。
縦書きで表示するのは、ミソというかコロンブスの卵というか、float:rightした、幅 1em のdiv要素に流し込むだけ、という呆気なさ。CSSだけで縦書き表示はできるので、javascriptと組み合わせてこんなこともできるありがたさよ。
おもしれーっす。
[12/18 23:13:36]
ついでに。
ajax使って、新着情報を取りにいくようにした。公式のWebの「新しいツイートが?件あります」というアレだ。javascriptは好きじゃないので、悔しいけど、便利。
ついでに。
過去記事も見られるようにした。
どちらも since_id とか max_id をパラメータに渡してやればいいだけ。このシンプルさがいいところだ。欲しい情報を伝えればそれだけを返してくれる、のでなんか作るにしてもテキトーなものだったらスグにできちゃう。ネタ勝負。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
案の定、IE8のバグだった
アクセスログに残る、404エラー。ありえないURLを要求してくるんだから当たり前。HTMLの一部をブラ下げてるのだ。
などなど。どこをどうすればこんなURLを組み立ててきやがるんだ、と。
いろいろ検索クエリを変えて、「IE8 バグ リクエスト」で、ようやくヒット。
https://bluewatersoft.cocolog-nifty.com/blog/2009/10/ie8-lookahead-d.html
IE8の中途半端な先読み機能がこんなマヌケなことを引き起こす、らしい。なんじゃそりゃ。てか、うんざり。上記記事によるとxhtmlのサイトは軒並み被害に遭いそう。(てのはちょっと違うけど、HTMLの規格で行くという話だ。結局xhtmlって規格企画倒れだったんかなあ)
面倒だから対応しない。仕事でやってるサイトならともかく、辺境の地だ、IEは確認動作環境から外してしまうか。
twitterのタテ表示、たてたったー、が予想以上に面白い、おれ様だ。
ttp://www.holeinthewall.jp/~butch/zakki/tatetatter.pl
スタイルシートを調整してちょっとは見やすくなった、かも。javascriptを使って、記入時にタテ表示の確認ができるなら、面白くなりそうなんだけど、そんなスキルはないのがとても残念。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」