2016-05-17 233 views
1

我想讓用戶選擇一個Twitter帳戶並授權該應用程序,使用Accounts.framework(希望只是Fabric)來執行某些操作。但是,我希望我的服務器能夠做到這一點:執行twitter調用(讓所有用戶遵循的人,我不知道如何計數)。iOS:給服務器twitter訪問權限?

有什麼辦法嗎?我想這是不是傳遞的authToken我從面料的登錄到我的服務器返回容易...

+0

我也有同樣的問題,除了OS X – brimstone

+0

修復和測試我的答案..作品。 – inorganik

回答

1

您正在尋找的OAuth回聲:https://docs.fabric.io/ios/twitter/oauth-echo.html

你產生所需的服務器,使基於OAuth的認證報頭要求,對於特定端點:

TWTROAuthSigning *oauthSigning = [[TWTROAuthSigning alloc] initWithAuthConfig:[Twitter sharedInstance].authConfig authSession:[Twitter sharedInstance].session]; 
NSString *endpoint = @"https://api.twitter.com/1.1/friends/ids.json"; 
NSDictionary *parameters = @{ 
          @"cursor": @"-1", 
          @"screen_name": username, 
          @"count": @"2000" 
          }; 
NSError *error; 
NSDictionary *oauthHeaders = [oauthSigning OAuthEchoHeadersForRequestMethod:@"GET" URLString:endpoint parameters:parameters error:&error]; 

oauthHeaders的關鍵是「X-驗證的憑據 - 授權」,這需要設置爲您從您的服務器發出請求的授權頭。另一個關鍵是「X-Auth-Service-Provider」,它是你應該提出請求的URL(你指定的端點) - 它是頭文件的唯一端點,它包含一個GET參數的查詢字符串你傳遞給OAuthEchoHeadersForRequestMethod

方法OAuthEchoHeadersForRequestMethod沒有很好的記錄...發現它由於自動完成的建議。