Php OAuth授权-建立requestToken

Php OAuth授权-建立requestToken,php,api,oauth,linkedin,Php,Api,Oauth,Linkedin,我需要获得请求令牌才能使用LinkedIn API 我正在尝试将此请求(通过邮寄)发送到: 利用这些参数 'oauth_callback' => 'http://www.myserver.com/tokenReturned', 'oauth_consumer_key' => '---', 'oauth_consumer_secret' => '---', 'oauth_nonce' => uniqid(time(), TRUE), 'oauth_signature_met

我需要获得请求令牌才能使用LinkedIn API

我正在尝试将此请求(通过邮寄)发送到:

利用这些参数

'oauth_callback' => 'http://www.myserver.com/tokenReturned',
'oauth_consumer_key' => '---',
'oauth_consumer_secret' => '---',
'oauth_nonce' => uniqid(time(), TRUE),
'oauth_signature_method' => 'PLAINTEXT',
'oauth_signature' => '---',
'oauth_timestamp' => time(),
'oauth_version' => '1.0'
无论如何,LinkedIn服务器正在响应HTTP 100,并显示以下消息:

oauth_problem=parameter_absent&oauth_parameters_absent=oauth_consumer_key&oauth_signature_method&oauth_signature&oauth_timestamp&oauth_nonce
我做错了什么?我缺少哪个参数


或者参数应该通过HTTP头发送,而不是通过POST参数发送?

参数应该在“授权”HTTP头中发送。例如:

POST https://api.linkedin.com/uas/oauth/requestToken HTTP/1.1
Authorization: OAuth oauth_callback="http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin", oauth_consumer_key="YOUR_KEY", oauth_nonce="SOME_NOUNCE", oauth_signature="YOUR_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="YOUR_TIMESTAMP", oauth_version="1.0"
Host: api.linkedin.com
Connection: Keep-Alive
请注意以下几点:

  • 您不应该发送oauth消费者机密
  • 需要对回调url进行编码

此处提供的更多信息:

您不打算发送
消费者秘密
。除此之外,一切看起来都很好。。。你能告诉我你是怎么发送的吗?可能在生成签名或其他信息时出错了…但请尝试使用标题发送它。他们的文档没有提供任何特定的示例,但通常人们在
Authorization
标题中发送
oauth.*
值。也许会对您有所帮助。
POST https://api.linkedin.com/uas/oauth/requestToken HTTP/1.1
Authorization: OAuth oauth_callback="http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin", oauth_consumer_key="YOUR_KEY", oauth_nonce="SOME_NOUNCE", oauth_signature="YOUR_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="YOUR_TIMESTAMP", oauth_version="1.0"
Host: api.linkedin.com
Connection: Keep-Alive