X(Twitter) API無料版を試してみた

Python
スポンサーリンク

Twitter APIが有料化になり使用を諦めていたのですが、よく見たら無料版が!

ということで試してみました。

ツイートとツイート削除くらいはAPI経由で実施できることを確認しました。

スポンサーリンク

Twitter APIのプラン

無料プランは以下だけ可能で、それ以上のことは有料プランに入る必要がある・・・
Botくらいは作れそう

  • 月間ツイート投稿1,500件(1日のAPI経由投稿数の上限は50件)
  • Twitterログイン機能の利用
  • ツイートの削除も可能(1日のAPI経由削除数の上限は50件)
  • 一部ご自身のアカウントのデータの取得(フォロワー数、フォロー数など)

Twitter API 無料版の申請

有料化が始まる前の申請より簡単になった印象

・Twitter Developer Portalから申請します。

申請項目の中で文章が必要なのは↓だけ。
あとはチェックしておけばOK。
即、ID等が発行されて使用できるようになる。

  • Describe all of your use cases of Twitter’s data and API:
    Twitter のデータと API のユースケースをすべて説明してください

補足:申請した英語文章の例

適当に↓を入力したので参考に記載

I use this API for programming learning. I would like to create a program that automatically thinks about the content to tweet. Also, since there are already over 500 tweets, I would like to delete them using the API. By implementing these, I will be able to improve my programming skills and create an environment where I can run programs regularly. This is fun and educational

訳:
私はこのAPIをプログラミング学習で使用します。
自動で呟く内容を考えて呟くプログラムを作りたいと思います。
あとは、すでに呟いている内容が500を超えるので、APIを利用して削除したいと思います。
これらを実施することで、私のプログラミング能力向上、定期的にプログラムを実行する環境構築ができる。これは楽しいし、勉強になる

実行できたプログラム(Python)

確かに、ツイートの投稿と削除は実施できました。
ただ、ツイート削除に関して使えない(権限?のエラーではじかれる)関数もありました。

※プログラムはPythonで作成しています

過去のツイート全消しプログラム

DestroyStatus

これは実行でき、プログラム削除できました。

作成したプログラムを張っておきます。

import twitter
import json

api = twitter.Api(
    consumer_key='自分のアカウントで書き換え必要',
    consumer_secret='自分のアカウントで書き換え必要',
    access_token_key='自分のアカウントで書き換え必要',
    access_token_secret='自分のアカウントで書き換え必要',
    sleep_on_rate_limit=False
)

with open('tweets.js', encoding='utf-8', mode='r') as f:
    tj=json.load(f)
    for tweet0 in tj:
        tweet = tweet0['tweet']
        print(tweet['id'])
        try:
            api.DestroyStatus(tweet['id'])
        except Exception as e:
            print(e.args)

※tweets.jsはツイッターからダウンロードします。申請してからダウンロードできるようになるまで1日くらいかかります。
また、tweets.js内の window.YTD.tweet.part0 =を削除しておく必要があります。

.user_timeline

これは↓のようなエラーが出たの無料版では使用できないのかな?と思います

You currently have access to a subset of Twitter API v2 endpoints and limited v1.1 endpoints (e.g. media post, oauth) only. If you need access to this endpoint, you may need a different access level. You can learn more here: https://developer.twitter.com/en/portal/product

コメント

タイトルとURLをコピーしました