我想使用GTMOAuth作为OAuth1框架登录各种服务(Google,Dropbox,Twitter等),然后使用RestKit进行实际的REST通信。这样做的最佳方式是什么?
答案 0 :(得分:0)
继续像往常一样使用GTMOAuth来获取访问令牌。当你在那里(和使用RKClient之前),初始化RKClient的OAuth1属性,这样(这将从Dropbox中检索帐户信息):
- (void)doAnAuthenticatedAPIFetch {
RKClient* client = [RKClient clientWithBaseURL:@"https://api.dropbox.com/1"];
client.OAuth1AccessToken = mAuth.accessToken;
client.OAuth1AccessTokenSecret = mAuth.tokenSecret;
client.OAuth1ConsumerKey = mAuth.consumerKey;
client.OAuth1ConsumerSecret = mAuth.privateKey;
client.authenticationType = RKRequestAuthenticationTypeOAuth1;
[client get:@"/account/info" delegate:self];
}
在之前使用RKClient初始化这些值非常重要,以便用于任何其他目的(这样这将成为单例sharedClient并且所有通信都经过适当授权)。