我尝试开箱即用地运行 OAuthStarterKit xcode 项目,输入正确的 api 密钥/秘密和 oauth 用户令牌/秘密。当我开始使用此代码进行授权时:
OAMutableURLRequest *request =
[[[OAMutableURLRequest alloc] initWithURL:requestTokenURL
consumer: self.consumer
token: self.requestToken
callback:linkedInCallbackURL
signatureProvider:sha] autorelease];
它返回错误“signature_invalid”,这似乎表明签名不正确。明文和秘密混合了大小写字符,我不确定这会有所不同。
如果我使用
requestTokenURLString = @"https://api.linkedin.com/uas/oauth/requestToken?scope=r_basicprofile+r_emailaddress";
它返回无效的信号...但是如果我使用基本权限调用
requestTokenURLString = @"https://api.linkedin.com/uas/oauth/requestToken;
它工作正常,但这意味着我只有基本的个人资料权限,我需要电子邮件地址之类的东西。
在测试控制台中输入所有相同的数据似乎在这里工作正常:
https://developer.linkedin.com/oauth-test-console
任何人都知道我应该做什么,想什么,或者我应该去哪里看?更多日志信息:
oauth_problem=signature_invalid
oauth_problem_advice=com.linkedin.security.auth.pub.LoginDeniedInvalidAuthTokenException while obtaining request token for: POST https://api.linkedin.com/uas/oauth/requestToken/oauth_callback:hdlinked://linkedin/oauth
oauth_consumer_key: XXX
oauth_nonce
oauth_signature_method: 3DHMACSHA1
2012-09-04 23:36:07.054 OAuthStarterKit[31952:c07] secret: TIDi9XXXXXXX
2012-09-04 23:36:07.054 OAuthStarterKit[31952:c07] base64EncodedResult: JXW6ZWUpXv7ba98o2hcUXodDhmg=
我正在使用这里的代码示例https://github.com/synedra/LinkedIn-OAuth-Sample-Client
编辑:如果没有人击败我,明天将试图深入了解并回答我自己的问题。