iOS
SwiftでのiOSにTwitterログインを統合する方法
8 分
swiftを使用してiosアプリにtwitterログインを追加する はじめに このセクションでは、twitterログインを使用してユーザー登録を行うアプリを作成する方法を説明します。 parse serverのコア機能 をback4appを通じて利用します。 前提条件 このクイックスタートを完了するには、以下が必要です: xcode 。 back4appで作成されたアプリ。 次のことを行ってください: 新しいparseアプリのチュートリアル を参照して、back4appでparseアプリを作成する方法を学びます。 back4appに接続されたiosアプリ。 注意: 次のことを行ってください: parse sdk (objc)のインストールチュートリアル を参照して、back4appに接続されたxcodeプロジェクトを作成します。 1 twitterの設定 twitterの機能を使用するには、次のことを行う必要があります 次に進む twitterアプリケーション管理ウェブサイト , twitterアカウントでサインインし、 新しいアプリを作成 新しいアプリを作成 をクリックします。 parseアプリケーションの設定ページに、アプリケーションのtwitterコンシューマーキーを追加します。 twitterアプリの「コールバックurl」を指定するように求められた場合、次のような有効なurlを挿入してください http //twitter oauth callback http //twitter oauth callback この値はiosまたはandroidアプリケーションでは使用されませんが、twitterを通じた認証を有効にするために必要です。 次のライブラリを追加します accounts framework と social framework social framework をxcodeプロジェクトに追加します。 parse sdkを初期化する場所に次のコードを追加します。例えば、 inapplication\ didfinishlaunchingwithoptions inapplication\ didfinishlaunchingwithoptions 1 pftwitterutils initializewithconsumerkey("your consumer key", consumersecret "your consumer secret") 2 ログインとサインアップ pftwitterutils pftwitterutils は、あなたの pfusers pfusers がtwitterを通じてログインまたはサインアップできる方法を提供します。これは、 loginwithblock loginwithblock または loginwithtarget loginwithtarget メッセージを使用して実現されます 1 pftwitterutils loginwithblock { 2 (user pfuser?, error nserror?) > void in 3 if let user = user { 4 if user isnew { 5 print("user signed up and logged in with twitter!") 6 } else { 7 print("user logged in with twitter!") 8 } 9 } else { 10 print("uh oh the user cancelled the twitter login ") 11 } 12 } このコードが実行されると、次のことが起こります ユーザーにtwitterのログインダイアログが表示されます。 ユーザーはtwitterを通じて認証し、アプリはコールバックを受け取ります。 私たちのsdkはtwitterデータを受け取り、 pfuser pfuser に保存します。twitterハンドルに基づいて新しいユーザーであれば、そのユーザーが作成されます。 あなたの ブロック ブロック がユーザーと共に呼び出されます。 3 twitterリンク 既存の pfuser pfuser をtwitterアカウントに関連付けたい場合は、次のようにリンクできます 1 if !pftwitterutils islinkedwithuser(user) { 2 pftwitterutils linkuser(user, { 3 (succeeded bool?, error nserror?) > void in 4 if pftwitterutils islinkedwithuser(user) { 5 print("woohoo, user logged in with twitter!") 6 } 7 }) 8 } リンク時に発生するステップは、ログイン時と非常に似ています。違いは、成功したログイン時に既存のpfuserがtwitter情報で更新されることです。今後のtwitterを通じたログインでは、ユーザーは既存のアカウントにログインします。 ユーザーからtwitterのリンクを解除したい場合は、単にこれを行ってください 1 pftwitterutils unlinkuserinbackground(user, { 2 (succeeded bool?, error nserror?) > void in 3 if error == nil && succeeded { 4 print("the user is no longer associated with their twitter account ") 5 } 6 }) 6 twitter api呼び出し 私たちのsdkは、アプリがtwitterにリンクされている場合に、 twitter rest api https //dev twitter com/rest/public に対してapi httpリクエストに署名する簡単な方法を提供します。apiを通じてリクエストを行うには、 pf twitter pf twitter によって提供されるシングルトンを使用できます。 pftwitterutils pftwitterutils 1 let verify = nsurl(string "https //api twitter com/1 1/account/verify credentials json") 2 var request = nsmutableurlrequest(url verify!) 3 pftwitterutils twitter()! signrequest(request) 4 let task = nsurlsession sharedsession() datataskwithrequest(request) { data, response, error in 5 // check for error 6 // data will contain the response data 7 } 8 task resume()