Oauth LinkedIn授权错误

Oauth LinkedIn授权错误,oauth,linkedin,Oauth,Linkedin,你能帮帮我吗?我试图从iPhone应用程序登录到LinkedIn,结果收到一个错误:oauth_problem=signature_invalid 当我尝试使用POST参数通过URL调用方法时,我收到了它: OAuth realm="http://sp.example.com/", oauth_consumer_key="Z-sSugZBQPQGQTAymNEVSQTrBBrteG1x0PHwXWrtkvrNWfKJuzQ36AmwT1j8UBPh", oauth_token="19a1cc

你能帮帮我吗?我试图从iPhone应用程序登录到LinkedIn,结果收到一个错误:oauth_problem=signature_invalid

当我尝试使用POST参数通过URL调用方法时,我收到了它:

OAuth realm="http://sp.example.com/", 
oauth_consumer_key="Z-sSugZBQPQGQTAymNEVSQTrBBrteG1x0PHwXWrtkvrNWfKJuzQ36AmwT1j8UBPh", 
oauth_token="19a1cc6e-597f-47ed-8d1c-778d05b25de3", 
oauth_signature_method="HMAC-SHA1", 
oauth_signature="vOfSRkbbC2%2FFw26wy6s%2FF5ThkS4%3D", 
oauth_timestamp="1323948893", 
oauth_nonce="431570D9-405F-4844-85E0-85722B53D397", 
oauth_version="1.0", 
oauth_verifier="12611"
我不明白怎么了(


有趣的是,Twitter和Facebook都工作得很好。

这不是一个条件,如果事情在一个平台上通过,就应该在另一个平台上通过:)

根据我的理解,在平台/服务如何实现给定规范方面总是存在一些差异

建议您使用测试控制台中的链接来检查到底出了什么问题


我怀疑您的签名生成不正确-通常当人们在从GET到POST的过程中出现OAuth签名(401)错误时,这是因为签名生成不正确。我完全同意在LinkedIn上使用oauth测试控制台的建议(我就是为了这种情况而创建的)。如果您将调用的特定变量放入表单中,您应该会得到一个相同的签名-如果您不这样做,则意味着您的签名生成不正确

话虽如此,我编写了一个LinkedIn iPhone客户端示例(它所做的只是进行身份验证并获取您的个人资料)。图书馆在这里:

登录视图如下所示:

您要查找的特定部分听起来像此方法:

- (void)accessTokenFromProvider
{ 
  OAMutableURLRequest *request = 
    [[[OAMutableURLRequest alloc] initWithURL:accessTokenURL
           consumer:self.consumer
           token:self.requestToken   
           callback:nil
           signatureProvider:nil] autorelease];

    [request setHTTPMethod:@"POST"];
    OADataFetcher *fetcher = [[[OADataFetcher alloc] init] autorelease];
    [fetcher fetchDataWithRequest:request
      delegate:self
      didFinishSelector:@selector(accessTokenResult:didFinish:)
      didFailSelector:@selector(accessTokenResult:didFail:)];    

}

您使用的是API还是依赖自己的代码?我对所有服务都使用OAuthConsumer API:FB、Twitter和LinkedIn只需使用LinkedIn oauth测试控制台OK检查您的签名和其他内容。“会员秘密”是什么意思?我在请求中找不到它。实际上,我在此处使用您的代码得到了此错误:,但仅当我更改权限使其无法工作时:requestTokenURLString=@;但将其设置为该值会:我在线程“main”com.google.code.linkedinapi.client.oauth.LinkedInOAuthServiceException:oauth.signpost.Exception.OAuthCommunicationException:与服务提供商的通信失败:服务器返回HTTP响应代码:401用于URL:如何解决此问题?在oauth测试控制台中,它工作正常