sinatraで書いたアプリをtwitterと連携させる
とりあえずtwitterと連携したアプリを作りたかったので、認証部分だけ書いてみました。
そもそも、どうやって連携させるの
結論から言うと
ここに今日やったことの答えがあります。
簡単Sinatra!WebAPI・OAuth認証を使ってみよう - 角幸一郎 | type IT Academy
見る人によっては「OAuth認証って何」とか、まあいろいろ疑問に思う方もいると思います。
それも含めて大体全部書いてあるのでここでは割愛します。
しかしGoogleの情報は膨大である
「sinatra twitter 認証」とかぐぐると、ものっそいたくさん記事が出ます。
そこで罠になるのが、古い記事です。
古い記事のものだとAPIの仕様が異なっていたりしているものだから、
素直に実装するだけではうまくいきません。うまくいきませんでした。
OAuth認証したいのに、エラーが出る
僕が遭遇したのは、こういうエラーです。
Net::HTTPRetriableError at /auth
301 "Moved Permanently"
ソースコード中のこの部分で怒られました。
request_token = consumer.get_request_token(:oauth_callback => callback_url)
エラーで検索かけてもそれらしい対処方法は見当たりませんでした。
実は悪いのは上の部分でなく、consumerを定義しているこの部分でした。
ここで指定するURL、正しくは「https://api.twitter.com」です。
解決してみると簡単な問題なのだけど、ここに行き着くまでに時間がかかった……。
最後に
出てきたエラーで素直に検索かけるだけでは、意外にも対処法が見つからないものですね。
どこが悪さしてるかという感が身に付くまでは、デバッグはなかなか骨が折れそう。
同じエラーに遭遇した人が一人でも助かるといいなあ。
せっかく認証についてちょっとわかってけども、次は認証せずにどこまで情報取得できるかを調べてみよう。
ブログことはじめ
はじめまして、moltaです。今日からこのブログでアレコレ書きます。長く書きすぎないよう気を付けます。
こんな理由でブログをはじめました。
なんでったってブログを書こうと思ったかについてです。
1.「 趣味」として、プログラミングを記録するため
第一目的です。もともとプログラミングは好きなのに、主体的にいじったことがなかったので、一念発起しました。
このブログは、日々の学習の備忘録のようなものです。
2. 「創作」として、プログラミングを公開するため
プログラミングも好きですが、創作も好きです。
「作りたい」と思ったものを作る手段として、プログラミングも活用できればなと。
ただし今はまだそこまでの段階にはないので、頑張ります。
3. 「交流」として、プログラミングを共有するため
これは副産物のようなものです。
もし僕自身に興味を持ってくれた人、一緒に勉強したい人などいれば、声をかけてくれると嬉しいです。
簡単に自己紹介です。
プログラミング経験者ではあるが。
1989年3月23日生まれの社会人1年目です。
scheme、C、C++、java、CUDAやらさわりました。
Webアプリも少しだけ作ったことがあって、
PHP、javaScript、HTML、CSS3、MySQLやらも多少理解できます。
プログラミングは割と好きな方です。
しかし、これらは全部「授業」としてやったか、「手伝うため」にやったかのどっちかです。
主体的にプログラミングを触った経験がほぼありません。
ほかの趣味とか
絵を描いたり、音楽を作るのが好きです。
そういった創作とは現在別で活動していく予定だけど、ゆくゆくは合流したいなあ。
今こういうことやってます。
今回は自己紹介の記事なので、何を使っているか、使う予定かだけを書きます。
それぞれについての詳しい説明は都度書く予定です。
Ubuntu
Linuxディストリビューションの1つです。OSです。
Windowsと比べて、開発環境を整えやすいところと、
Ubuntuに関する記事がインターネットにたくさんあるところが魅力的です。
Ruby & Sinatra & heroku
Rubyというのがプログラミング言語で、SinatraはRubyのためのフレームワークです。
herokuは作ったアプリを公開できる場所です。
以上です。
ありがとうございました。