1. HOME
  2. ブログ
  3. IT技術
  4. 【第14回】Go言語(Golang)入門~Twitterアプリ作成編~

【第14回】Go言語(Golang)入門~Twitterアプリ作成編~

第14回~Go言語(Golang)入門~

笹川笹川先生

(株)ライトコードの笹川(ささがわ)です!

そろそろレベルも上がり、Go言語(Golang)も 入門 とは言えなくなってきた感も否めません。

そこで、入門編はそろそろ終わりにしたいと考えています。

修了記念にGo言語(Golang)を使ってWebアプリを作ってみようと思います!

それでは、いってみましょう!

前回の記事はこちら

こちらの記事もオススメ!

どんなアプリ作るの?

修了に際して、どのようなアプリを作ろうか考えました。

色々悩んだのですが、過去の記事でTwitterAPIを利用したのを思い出し、TwitterAPIを使ったTwitterアプリケーションを作ってみようと思いました。

ツイートしたい内容の一部を、猫語(「にゃ」とか「にゃん」)に変えるという簡単なアプリです!

その制作過程を、今回と次回で書かせていただいて、Go言語(Golang)入門は一旦修了とさせていただきます!

どう進めていくのか?

  1. まずは、TwitterAPIの登録
  2. その後、Go言語(Golang)の実装
  3. 最後に、HTMLの実装

今回のメイン言語は、Go言語(Golang)となります。

そのため、画面の実装はFWなどを利用せずに進めます。

ちなみに、TwitterAPI の登録方法は、今回は割愛させていただきます。

それでは、作っていきましょー!

Twitter認証の実装

TwitterAPI の「ConsumerKey」と「ConsumerSecret」だけ今回は利用し、それらを JSON 形式でファイルに保存します。

Anacondaを利用して認証

作成したファイルを読み込んで、Anaconda を利用して認証します。

ちなみに、このへんの実装は、第6回目の記事でやりましたね!

echoの設定

次に、echo の設定をします。

アクセスされた時の実装は、このような感じです。

ローカルの開発環境とサーバーで、TwitterAPI の Callback の設定が異なるので、 hostname で判定して設定しています。

認証が無事にできたら、Twitterのログイン画面へ遷移するようになっています。

echoのインスタンスの設定は、こんな感じです。

これで、「localhost:3022/auth」へアクセスすると、Twitterのログイン画面が表示されるようになりました。

ログイン成功後のCallbackの実装

次に、ログイン成功後の Callbackの実装をします。

token などは、GETのパラメーターとして受け取れるので、それらの値をセッションへ保存します。

token と secret が無事に取得でき、セッションに値を保存したら、ツイート画面へリダイレクトするようにしています。

echoインスタンス側への実装は、下記で完了です。

これで「認証」と「ログイン」周りの実装は終わりになります!

ツイートするための実装

ログインまでできたので、画面より先に、実際にツイートをする処理を実装します。

「POST でメッセージを受け取って、そのままツイートする」ならば、下記のような実装になります。

先ほどの認証周りで、セッションに入れたトークンなどが不正の場合はツイートされません。

api.PostTwet()  では、認証が正しくないとTwitterAPI側で「400エラー」が発生します。

その場合は、もう一度認証させるようにしましょう。

今回は、再認証のリダイレクトはフロント側でやります。

そのため、こちらでは成功とは異なるレスポンスをするようにします。

認証が正しくされていれば、これで『テストツイート』と、自分のタイムラインにツイートされているはずです。

ここの実装では、生成されたツイートのURLをレスポンスとしていますので、そちらにアクセスすると成否がわかるはずです。

これで、Go言語(Golang)での実装の半分は終わりました!

では、残りは次回にします!

最終話へつづく!

Go言語は、扱いやすく1つ1つの実装は簡単です。

しかし、組み合わせていくと、やはりちょっと難しくなってきますね!

習得していった手法を駆使して様々やっていますが、ちょっとオレオレコードになっている感も否めません…。

ソースコードの汚さは、一旦目をつぶっていただき、「Go言語(Golang)で楽しそうなWebアプリケーションを作っているんだなー」という優しい目で見ていただけると嬉しいです(笑)

作成しているアプリケーションのソースコードは、次回の記事の最後に案内予定です!

Go言語でのシステム開発依頼・お見積もりはこちらまでお願いします。
また、Go言語を扱えるエンジニアを積極採用中です!詳しくはこちらをご覧ください。

次回の記事はこちら

オススメのGo入門本

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る
Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る

 

こちらの記事もオススメ!

第1回の記事はこちら

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

笹川 (社員)
笹川 (社員)
新潟生まれ新潟育ち本業はモバイルアプリエンジニア。
日々、猫(犬)エンジニアとして活躍中!

関連記事