【问题标题】:iOS: give server twitter access?iOS:授予服务器 Twitter 访问权限?
【发布时间】:2016-05-18 23:43:38
【问题描述】:
我想让用户选择一个 twitter 帐户并授权应用程序,使用 Accounts.framework(希望只是 Fabric)来做一些事情。但随后,我希望我的服务器真正做到这一点:执行 twitter 调用(获取用户关注的所有人,我不知道,计算他们)。
有什么办法吗?我认为这并不像将我从 Fabric 登录返回的 authToken 传递到我的服务器那么容易......
【问题讨论】:
标签:
ios
twitter-oauth
twitter-fabric
【解决方案1】:
您正在寻找 OAuth Echo: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-Verify-Credentials-Authorization”,您需要在从服务器发出的请求中将其设置为您的授权标头。另一个键是“X-Auth-Service-Provider”,这是您应该向(您指定的端点)发出请求的 url - 它是标头将工作的唯一端点,它包括 GET 参数的查询字符串你传给OAuthEchoHeadersForRequestMethod。
OAuthEchoHeadersForRequestMethod 方法没有很好的文档记录...感谢自动完成建议。