Twitter

GAS(GoogleAppsScript)からシンプルにAPIを叩く方法(Twitter API)

GAS(GoogleAppsScript)からシンプルにAPIを叩く方法(Twitter API) 文系には難しい記事が多いので、なるべくシンプルに書いてみる 試しに使うのは Twitter API ーーーーーーー ※前提として、こちらのページからtwitter appを作ることが必要 https://developer.twitter.com/apps Appを作ったら、Consumer API keys(API key、API secret key )を入手して、Base64でエンコードしてください 詳細のやり方は以下が参考になる Twitter APIのOAuthToken取得方法 ーーーーーーー まず、TwitterのAPIを叩くためにTokenをもらってくる Curlで叩くとこんな感じ 【】の中は適宜変更してください 叩くとtokenが返ってくる これと同じことをGASでやってみるとこんな感じ UrlFetchApp.fetch(url,options)で、end pointのURLと、認証情報などのOptionsを送る 結果も帰ってきている もちろん、上で得たtokenを使ってAPI叩くときも同じようにやる GET statuses/user_timeline curlはこちら 試しにホリエモンさんのアカウントを使う GASにするとこうなる 今回getなのでpayloadはなし 結果も出てきている

localで動作確認していたSNS Appと紐づいたアプリをAWSに移行するときに忘れてはいけないこと

localで動作確認していたSNS Appと紐づいたアプリをAWSに移行するときに忘れてはいけないこと この辺の続き DjangoでSNSログイン機能を実装させる4(TwitterLogin実装まで) #1 SNS Appの方でCallback URLを更新する(忘れがち) Githubの方 twitterの方 #2 settings.pyのALLOWED_HOSTSに追記 こちらも忘れがち

DjangoでSNSログイン機能を実装させる4(TwitterLogin実装まで)

DjangoでSNSログイン機能を実装させる3(decoupleでKeyを安全保管するまで)の続き 以下の記事を参考に進める How to Add Social Login to Django Twitter loginも実装する https://apps.twitter.com/から「Create New App」をクリック Callback URLには「http://0.0.0.0:8000/oauth/complete/twitter」と入力 PermissionsはRead-onlyとする Key and tokensタブより、Keyを取得する 備忘:コンテナログインのコマンド settings.pyに以下を追記する DjangoでSNSログイン機能を実装させる3(decoupleでKeyを安全保管するまで)の要領で変数を定義 login.htmlもちょっと追記 これでTwitter Loginも完成 http://0.0.0.0/login/:8000 facebookはssl化が必須みたいなので、一旦諦める、、 Login Security

DjangoでSNSログイン機能を実装させる1(コンテナ作成と起動まで)

こういう画面で、通常ログインではなくて、SNSアカウントでログインができるように実装したい 今回は、GithubとTwitterアカウントでログインできるようにする 以下の記事を参考に進める How to Add Social Login to Django まずはDockerでコンテナを立ち上げる ほとんどこちらと同じ話 Django on Docker超入門1(ロケットの画面まで) 適当なワークディレクトリで以下のようにファイルを作成する 各ファイルの中身は以下の通り コンテナを作成 mysiteはサイトの名前なので任意の値 インデントがきちんとしていないと以下のようなエラーが出るので注意 すると、以下のようなディレクトリ構成になる settings.pyの編集をしていく コンテナを立ち上げる ここからはコンテナに入って作業する DBのマイグレート スーパーユーザーの作成 これでアクセスできるようになる http://0.0.0.0:8000 http://0.0.0.0/admin:8000 続きはこちら DjangoでSNSログイン機能を実装させる2(Githubログイン機能実装まで)

FlaskのAPIサーバから取得した情報をHTML/Javascriptで表示する

flaskでAPIサーバを作成するで作成したAPIサーバからの情報をHTMLページに表示する 実際のツールは以下に https://www.yoshiislandblog.net/twitter_mecab_api/ 最新のコードは以下に https://github.com/yoshi-island/mecab-twitter-api_client get-tweets-places.html 参考: 備忘:ログアウトしてもバックグランドでコマンドを実行し続ける

flaskでAPIサーバを作成する

flaskでAPIサーバを作成してみる 今回は、TwitterIDから、最近呟いた地名を取得するAPIを作成する MeCabなど環境作成はサクッとAmazon LinuxにMecab導入を参考にしてください   【APIサーバ】flask-corsをインストール 【APIサーバ】各スクリプトの配置 最新版はこちら(https://github.com/yoshi-island/mecab-twitter-api) 「get_tweets_place_list.py」で、tweetを取得してMecabで地名を抽出、 「mecab-twitter-api.py」で、APIサーバとしてリクエストが来たら返信する passwords.py Twitter tokenは一応別ファイルに書いておいて、モジュールとして呼び出す。 Twetterの設定はこちらを参考に。 twitter botを作ってみた passwords.py get_tweets_place_list.py get_tweets_place_list.py mecab-twitter-api.py mecab-twitter-api.py 【Mac】実行 ローカルMacから実行 今回はホリエモンのIDを利用 きちんと返って来ている Trouble Shooting 以下のようなエラーが出たので 以下を参考に、「@api.after_request」を追加したら、解消した https://stackoverflow.com/questions/22181384/javascript-no-access-control-allow-origin-header-is-present-on-the-requested 参考: 備忘:ログアウトしてもバックグランドでコマンドを実行し続ける

WordPress.comからWordPress on AWSへのお引越し

※20201001追記:次に引越しした記事も参照ください PHPが古くなったのでWordPressの移行をする(1)〜AWSインスタンス作成とBackupのImport〜 wordpress.comではjavascriptが動かせないことがなかなかのストレスだったため、ドメイン購入してAWSにお引越しした。 EC2インスタンス構築 移行先Wordpressが載っているインスタンスを作成する AWS consoleから、「インスタンス」>「インスタンスの作成」をクリック。 Marketplaceにwordpressで調べたらドンピシャのものがあったので、一番上の「WordPress Certified by Bitnami」を選択する。 色々と価格のことが出てくるが、ビビらずに「Continue」。 もちろん無料のインスタンスタイプ「t2.micro」を選択すして、作成。 公式サイトでは、「キーペアなしで実行」と書いてあるが、個人的にログインはしたいので、「既存のキーペアを選択」。 キーペアが無ければ、「EC2」>「ネットワーク&セキュリティ」>「キーペア」>「キーペアの作成」から作成しておく。 しばらくするとインスタンスが立ち上がってくる。「インスタンスのステータス」が「running」になればOK。 自分はいくつかインスタンスがあるので、識別のために名前を「wordpress」とつけておく。 あと、「プライベートIP」のアドレスを確認しておく。 ElasticIP設定 再起動すると、インスタンスのIPは変わってしまう。DNS登録することを考えてElasticIPでIPを固定する。 「ElasticIP」>「新しいアドレスの割り当て」より、ElasticIPを作成する。(詳細キャプチャはし損ねたのでよしなに。) できたElasticIPのラジオボタンを選択し、「アクション」>「アドレスの関連付け」をクリック。 先ほど作成したインスタンスと、プライベートIPを選択し、関連付ける。 そうすると、先ほどのEC2のインスタンスの「ElasticIP」の値に関連付けたIPの値が入るようになる。 ElasticIPにブラウザアクセスすると、Wordpressの初期画面(Hello World)が見える。 ログイン確認 GUIログイン 「http:///admin/」でWordpressの管理画面へのログイン画面にアクセスすることができる。 ユーザー名とパスワードを調べる。 AWS consoleの画面へ戻り、EC2画面で作成したインスタンスのラジオボタンを選択する。 「アクション」>「インスタンスの設定」>「システムろぐの取得」を選択。 ログ画面が現れるので、下にスクロール。アスタリスクに囲まれた部分に、ユーザー名とパスワードが書かれているので記録する。 先ほどのWordpressのログイン画面に、取得したユーザー名とパスワードを入力すれば、管理画面へログインができる。 CLIログイン 不要かもしれないが、念のためCLIログインんができることも確認しておく。 WordPress.comからWordpressへデータ移行 これはいつやっても良いのだが、このタイミングで実施。 WordPress.comの方からxmlファイルをエクスポート 「Tools」>「Import」>「Wordpress」からImporterを実行 Route53でドメイン購入 URLがIPでは心許ないので、思い切ってドメインAWSで購入する。※有料となります。 「Route53」>「Hosted zones」>「Create Hosted Zone」をクリック。 指示にしたがって、希望のドメインを購入すると、「Registered domains」に購入したドメインが現れる。(数分時間がかかります。) Route53設定(ElasticIPとドメインの紐付け) 先ほど購入したドメインと、ElasticIPを紐付ける。 「Hosted zones」から、入手したドメインを選択すると、「Hosted Zone Details」が確認できる。 …

WordPress.comからWordPress on AWSへのお引越し Read More »

golangでbot作成

兎にも角にもgoに慣れよう、とのことで、slack botをgoで作ってみた。 以下の記事を大変参考にしました。 今更やけど、Go言語でSlack APIを使ってみた!! 動きとしては、とあるキーワード(今回は#golang)のtweetsを拾ってslackにポストするもの。 # go get anaconda tweet apiを使うにはanacondaがいいらしい。 # GOPATH/GOROOTの定義 # goのファイル構造 ファイル構造はこんな感じに。 実行ファイルはsrcの下に置くのがお決まり Goコードの書き方 Goコードはワークスペース内に置いておく必要があります。ワークスペースはルートに以下の3つのディレクトリを持つディレクトリ階層です。 srcはパッケージに構成された(1ディレクトリに1パッケージ)Goのソースファイルを含み、 pkgはパッケージオブジェクトを含み、 binは実行形式コマンドを含みます。 # 実行ファイルの用意 # 変数を他パッケージから読み込む 先ほどの引用、よく見ると「1ディレクトリに1パッケージ」と書いてある。 srcはパッケージに構成された(1ディレクトリに1パッケージ)Goのソースファイルを含み、 素直に、src配下にディレクトリを作成して変数を収めるファイルを配置 変数を収めるコードの冒頭にパッケージ名を定義する(goファイルはどれもパッケージの必要) この時、変数の冒頭は必ず「大文字」で記述する! じゃないとこうなる 読み込むファイルでは、packageとしてimportすること、 「パッケージ名.変数名」で記載することを忘れない # 実行 これで問題なく動くはず 意味はわからないがtweetは拾えている。

twitter botを作ってみた

以下リンクの通りに作ってみました。 http://qiita.com/bird_nitryn/items/cff2f6fee07f82136f61 ファイル構造は以下の通り。 /twitter-bot |–.DS_Store |–config.php |–twitter-bot.php |–twitteroauth すごくわかりやすかったので、特につまずきポイントはありませんでしたが、 PermissionがRead onlyになっていたために、一度エラーとなりました。 ちなみにファイル構造を表示するのに使ったコマンドは以下リンクを参考にしました。 http://qiita.com/yone098@github/items/bba8a42de6b06e40983b