2015-10-21 91 views
1

Twitter的用戶詳細信息我想使用此代碼不能得到迅速

@IBAction func twitterLogin(sender: UIButton) { 
    if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) { 

     let accountType = self.accountStore.accountTypeWithAccountTypeIdentifier(ACAccountTypeIdentifierTwitter) 

     accountStore.requestAccessToAccountsWithType(accountType, options: nil, completion: { (granted : Bool, error : NSError?) -> Void in 
      if error != nil { 
       print("Error in getting permission : \(error)") 
      } else { 
       if granted { 
        let accounts : NSArray = self.accountStore.accountsWithAccountType(accountType) 
        if accounts.count > 0 { 
         self.twitterAccount = accounts.lastObject as? ACAccount 

         let url = NSURL(string: "https://api.twitter.com/1.1/users/show.json") 

         let parameters : NSDictionary = ["fields": "user_id,screen_name"] 

         let twitterRequest : SLRequest = SLRequest(forServiceType: SLServiceTypeFacebook, requestMethod: SLRequestMethod.GET, URL: url, parameters: parameters as [NSObject : AnyObject]) 
         twitterRequest.account = self.facebookAccount 
         twitterRequest.performRequestWithHandler({ (responseData : NSData?, urlResponse : NSHTTPURLResponse?, error : NSError?) -> Void in 

         if error != nil { 
          print("Error : \(error)") 
         } else { 
//       print("data : \(responseData)") 
          if let response = responseData { 
          var dict = NSDictionary() 
          do { 
           dict = try! NSJSONSerialization.JSONObjectWithData(response, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary 
           } catch let error as NSError { 
            print("Error : \(error)") 
           } 
           print(dict) 
          } 
         } 
         }) 
         } 
        } else { 
         dispatch_async(dispatch_get_main_queue(), {() -> Void in 
          self.showAlert(nil, message: "Permission not granted") 
         }) 
        } 
       } 
      }) 
     } else { 
      self.askForSettingsChange("No Twitter Account", message: "There are no Twitter accounts configured. You can add or create Twitter account in Settings") 
     } 
    } 

輸出

{ 
    errors =  (
       { 
      code = 215; 
      message = "Bad Authentication data."; 
     } 
    ); 
} 

得到很多的例子來加載Twitter的用戶詳細信息,但不能得到妥善解決。
我認爲這可能是在API調用問題,或者可能是參數。
嘗試糾正,但沒有成功

+0

好像你寫代碼爲Twitter和訪問Facebook帳戶。請檢查您的代碼。 SLServiceTypeFacebook = SLServiceTypeTwitter等 –

回答

0

面料是sdk這是提供Twitter登錄與簡單的身份驗證通過客人或用戶登錄。

Twitter login using Fabric

寫在斯威夫特https://docs.fabric.io/ios/twitter/index.html

如果要使用原始REST示例代碼調用對API,請按照開發者文檔中的OAuth詳細資料

https://dev.twitter.com/oauth

+0

我所研究的所有內容,但不能明白在哪裏更改我的代碼...我使用的社會和帳戶框架與Twitter登錄... plz幫助,如果你能 –

+0

你只需要遵循的Oauth細節刪除此error.Here鏈接跟蹤每step.you會得到您的解決方案http://codegerms.com/login-with-twitter-example-with-ios-tutorial-using-oauth/ – BHUMICA