LoginSignup
3

posted at

updated at

Swift用Twitterライブラリを作った

はじめに

Twifterのドキュメント的な記事になります。

Twifterとは

Twifter.png
普通はTwitterAPIを操作しようとすると開発者アカウントが必要になってきます。
しかし、Twifterは開発者アカウントなしでTwitterAPIを操作することができます。

なぜこんな事ができるのか

Twitterにはtwitter.com/exploreというログインなしでツイートを検索できるページがあります。
こちらではアクセスしたユーザーに対してゲストトークンを付与しています。
このゲストトークンを使用することで非ログイン状態でもTwitterAPIを使用する事が可能になります。

ただ欠点もあります。
当たり前なのですが、ゲスト(非ログイン状態)としてのAPIなので読み取り専用になります。
「ツイートをする、DMを送信する」といった書き込みに関するAPIは使用できません。

必要要件

iOS macOS tvOS watchOS
最小OS iOS15 macOS10.10 tvOS9 watchOS2

使い方

人気のありそうなAPIからいくつか抜粋して紹介します

ユーザー情報を取得する

Task {
    let user_info = try await TwifterClient().user_show(screen_name: "_SNQ")
    print(user_info)
}

ツイート情報を取得する

Task {
    let tweet_info = try await TwifterClient().statuses_show(id: 1488101267243429889)
    print(tweet_info)
}

ユーザーのツイートを複数取得する

Task {
    let user_timeline = try await TwifterClient().statuses_user_timeline(screen_name: "_SNQ")
    print(user_timeline)
}

ツイートを検索する

Task {
    let search_tweets = try await TwifterClient().search_tweets(q: "Swift")
    print(search_tweets)
}

こんな感じです

おわり

現在はTwitterAPI v1.1のみ対応してます。
今後、TwitterAPI v2やプライベートAPIにも対応する予定です。

質問があれば@_SNQにDMください!

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
What you can do with signing up
3