Emergency Situation Sharing Tool
とにかくAndroidアプリケーションからできるだけRealtimeにTweetを取得できるように頑張ります。
2018年7月に何かが変わって、APPSのページで”apply for a Twitter developer account ”をしないと新しいアプリが登録できなくなった。アカウントを登録しなおして、Twitter APIでのアプリを再登録したら、新たにいろいろ登録しないといけなくなって、あげくにいままで使えていたTimeline取得の部分が動かなくなった。ちょっと調査。エラーとしては、 |
"errors": [{
"code": 215,
"message": "Bad Authentication data."
}]
ちゃんと認証されていないということか。Oauthの部分がちゃんと動いていないのかな。 |
まずは、WebhookでFilterされたTweetの一覧を簡単に表示するWebアプリケーションを作ることを目指してみよう。
- なんとかWebhookでリアルタイムにTimelineが取得できないかなー
自分の理解では、Webhookを登録するとTwitter側がターゲットとして設定するアドレスに何かJSONか何かを投げてくれると理解。そのほうが確かにTwitter側のサーバの負荷は、減るような気がする。受けるのをNodejsにするか、Jerseyにするか。。まずは、Node.jsにしてみるか。よってに従いまずやってみる。 |
{
"errors": [
{
"code": 200,
"message": "Forbidden."
}
]
}
おっと、をよく読むとwebhookアドレスってHTTPSしか許可していないような気がする。それって。。。ちょっとかんがえないと。Jerseyか。。。あと、Callback URLの設定を見直してみるか。 |
{
"id": "******************",
"url": "https://braincopy.org/{web app name}/{application path}/{path}",
"valid": true,
"created_timestamp": "2018-10-17 00:19:47 +0000"
}
"https://api.twitter.com/1.1/account_activity/all/{env name}/webhooks.json?url=https%3A%2F%2Fbraincopy.org%2F{web app name}/{application path}/{path}"のenv nameのところをAccount Activity APIのSandboxに作ったアプリケーションのApp Nameを使っていたが、Dev environment labelを使うべきだった。
|
なんかここでSubscriptできるのって、自分のアカウントの動きのみで、欲しかった他の人のツイートをリアルタイムで受け取ることはできないような気がしてきた。 |
- Twitter, Inc., 2018, Twitter Apps, https://apps.twitter.com/
- sbtseiji, 2018年06月10日, TwitterのAccount Activity APIとwebhookを使用する, https://qiita.com/sbtseiji/items/7957de5db0987d9a6891
- @takaki@github, 2016年07月06日, HMACをいろんな言語で, https://qiita.com/takaki@github/items/8665e6c518e377840495
- @Fushihara, 2018年05月17日, TwitterのAccount Activity APIを叩くnodejsコード, https://qiita.com/Fushihara/items/79913a5b933af15c5cf4
- andypiper, 20 Jun 2017, CRC_Example.java, https://gist.github.com/andypiper/1aa7ed86429747bb025a4c3112669d0e
- Twitter, Inc., 2018, Securing webhooks, https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/guides/securing-webhooks