35
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ツイッターの Account Activity API 使ってみた

Last updated at Posted at 2018-04-30

前日ツイッターのAccount Activity APIを使ってみました、この API が一つ webhook 登録が可能です、アカウントのリアル活動(ツィート、通知、設定)を受信します。

以下のものが含まれます:

  • ツィート
  • at 通知
  • リプライ
  • リツイート
  • 引用リツイート
  • いいね
  • ダイレクトメッセージとその受信
  • フォロー
  • ブロック
  • ミュート

使う時実際起こった問題を書きました。

アプリを作ります

まずここで https://apps.twitter.com/ チュートリアルに従ってアプリを作って、アプリの key と secret を取得します。

Account Activity API を申請します

https://developer.twitter.com/en/apply
ここで権限を申請します,app ID の添付を忘れずに(app ID について:https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/overview

申請成功したらメールが来ます
申請成功のメール

webhook URL を登録

CRC テスト

webhook は CRC テストを合格しなければ登録できない、具体的な要望はここに書いている ->
https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/guides/securing-webhooks

自分もNode.jsのdemoを書きました、一応参考になれば:
https://github.com/xingoxu/twitter-like-downloader/blob/master/routes/twitter.js#L13-L23

postman でリクエストを送って webhook URL を登録します

POST:
https://api.twitter.com/1.1/account_activity/all/env-beta/webhooks.json?url=${あなたのwebhook URL}

Header:
Authorization: Bearer TOKEN

Bearer TOKENhttps://api.twitter.com/oauth2/tokenで取得できます。

注意

postman でリクエストを送って subscription に webhook を登録します

GET:
https://api.twitter.com/1.1/account_activity/all/env-beta/webhooks.json

Header:
Authorization: Bearer TOKEN

さっきの webhook の id を取って

POST:
https://api.twitter.com/1.1/account_activity/all/env-beta/subscriptions.json

Header:
Authorization: OAuth 1.0

Body:
webhook_id: さっきの webhook の id

注意すべきところ:ここAuthorization は OAuth 1.0(user id 認識ため)

リスポンス内容はない、HTTP Code: 204 No Conent

登録したらここに見えます

GET:https://api.twitter.com/1.1/account_activity/all/env-beta/subscriptions/list.json

Header:
Authorization: Bearer TOKEN

これを受けれます

{
    "environment": "env-beta",
    "application_id": "12345678",
    "subscriptions": [
        {
            "user_id": "12345678"  // <- 自分のuser_id
        }
    ]
}

テスト

好きなツイートをいいねすると

ツイッターサーバーから webhook object 受けれます。

最後、Account Activity API使ってる自家用ツイッターBotです、参考になればぜひ
https://github.com/xingoxu/twitter-like-downloader

最後まで閲覧いただきありがとうございました。

オリジナルリンク:https://blog.xingoxu.com/ja/2018/04/twitter-account-activity-api/

35
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?