LoginSignup
5

More than 1 year has passed since last update.

【swifter】Twitter連携アプリを作るためのswifterの主な関数の使い方の記録[2021/5/22追記]

Last updated at Posted at 2019-10-20

Swifterとは

swiftで書かれたTwitter Framework.
ソースコードも公開されているため、使いやすい.
TWitterKitがサポート終了したし、こっち使えばいいんじゃね。

ソースコード : github : Swifter

Swifterに用意された主な関数の使い方

連携する


    //login処理
    // swifter構造体の宣言
    let swifter = Swifter(consumerKey: <twitter consumer key>, consumerSecret: <twitter consumer secret>)
    // のちに使う変数
    var twitterTokenKey:String!
    var twitterTokenSecret:String!

    swifter.authorize(
            withCallback: URL(string: "swifter-<twitter consumer key>://")!,
            presentingFrom: self,
            success: { accessToken, response in
                print(response)
                guard let accessToken = accessToken else { return }
                twitterTokenKey = accessToken.key
                twitterTokenSecret = accessToken.secret
            }, failure: { error in
                print(error)
            }
        )

tweetする

返り値はjsonデータ形式

    // さっきゲットしたtwitterTokenKeyとtwitterTokenSecretを使ってswifterを宣言し直す
    swifter = Swifter(consumerKey: <twitter consumer key>, consumerSecret: <twitter consumer secret>, oauthToken: twitterTokenKey, oauthTokenSecret: twitterTokenSecret)

    swifter.postTweet(status: "Tweetの内容", success: { json in
            // 成功時の処理
            print(json)
        }, failure: { error in
            // 失敗時の処理
            print(error)
        })

timelineを取得する

返り値はjsonデータ形式

        // こっちは、連携中のユーザーのフォローしてるユーザーのツイートを時系列順に。
        swifter.getHomeTimeline(count: 50,success: { json in
            // 成功時の処理
            print(json)
        }, failure: { error in
            // 失敗時の処理
            print(error)
        })

        // こっちは、@~~~で指定したユーザーのツイートを時系列順に取得。        
        swifter.getTimeline(for: .screenName("<twitterの@~~~のuser名の~~~の部分>"),success: { json in
            // 成功時の処理
            print(json)

        }, failure: { error in
            // 失敗時の処理
            print(error)
        })

ユーザーを検索する(2021/5/20追記

返り値はjsonデータ形式
twitterの検索結果一覧画面っぽいのを作るために、jsonデータの中からtwitterの名前とicon画像のurlとscreenNameを取得する。
他にもいろいろあるから、使いたい時にまた見てみる。

        let searchString: String = "test" //検索ワード
        let pageNum: Int = 1 // 検索結果の何ページ目を返すか
        let requestNum: Int = 10 // 1ページあたり何件の結果を返すか
        swifter.searchUsers(using: searchString,
            page: pageNum,
            count: requestNum,
            includeEntities: false,
            success: { response in
                for i in 0..<self.requestNum {
                    print(response[i]["name"])
                    print(response[i]["screen_name"])
                    print(response[i]["profile_image_url_https"])
                }

            },
            failure: { error in
                print(error)
                print("failure")
            }
        )

まとめ

他にも、twitter上での操作はコードを通して全部できるようになってるっぽかったから、ソースコード見て必要な機能があったら実装していこう。

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
5