molta, 頭をよくしてあげよう

アプリつくってくための備忘録

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を定義しているこの部分でした。

def

  consumer OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => "http://twitter.com")

end

 

ここで指定するURL、正しくは「https://api.twitter.com」です。

解決してみると簡単な問題なのだけど、ここに行き着くまでに時間がかかった……。

 

最後に


出てきたエラーで素直に検索かけるだけでは、意外にも対処法が見つからないものですね。

どこが悪さしてるかという感が身に付くまでは、デバッグはなかなか骨が折れそう。

 

同じエラーに遭遇した人が一人でも助かるといいなあ。

 

せっかく認証についてちょっとわかってけども、次は認証せずにどこまで情報取得できるかを調べてみよう。

ブログことはじめ

はじめまして、moltaです。今日からこのブログでアレコレ書きます。長く書きすぎないよう気を付けます。

 

 こんな理由でブログをはじめました。


なんでったってブログを書こうと思ったかについてです。

1.「 趣味」として、プログラミングを記録するため

 

第一目的です。もともとプログラミングは好きなのに、主体的にいじったことがなかったので、一念発起しました。

このブログは、日々の学習の備忘録のようなものです。

 

2. 「創作」として、プログラミングを公開するため

 

プログラミングも好きですが、創作も好きです。

「作りたい」と思ったものを作る手段として、プログラミングも活用できればなと。

ただし今はまだそこまでの段階にはないので、頑張ります。

 

3. 「交流」として、プログラミングを共有するため

 

これは副産物のようなものです。

もし僕自身に興味を持ってくれた人、一緒に勉強したい人などいれば、声をかけてくれると嬉しいです。

 

簡単に自己紹介です。


プログラミング経験者ではあるが。

 

1989年3月23日生まれの社会人1年目です。

高専~大学院までの間、ずっと情報工学を勉強してきました。

scheme、C、C++java、CUDAやらさわりました。

Webアプリも少しだけ作ったことがあって、

PHPjavaScript、HTML、CSS3、MySQLやらも多少理解できます。

プログラミングは割と好きな方です。

しかし、これらは全部「授業」としてやったか、「手伝うため」にやったかのどっちかです。

主体的にプログラミングを触った経験がほぼありません。

 

 ほかの趣味とか

 

 絵を描いたり、音楽を作るのが好きです。

そういった創作とは現在別で活動していく予定だけど、ゆくゆくは合流したいなあ。

 

今こういうことやってます。


今回は自己紹介の記事なので、何を使っているか、使う予定かだけを書きます。

それぞれについての詳しい説明は都度書く予定です。

 Ubuntu

Linuxディストリビューションの1つです。OSです。

Windowsと比べて、開発環境を整えやすいところと、

Ubuntuに関する記事がインターネットにたくさんあるところが魅力的です。

 

 Ruby & Sinatra & heroku

Rubyというのがプログラミング言語で、SinatraRubyのためのフレームワークです。

herokuは作ったアプリを公開できる場所です。

 

以上です。


ありがとうございました。