LinkedIn 与 Pecl OAuth:“收到 400,预期 HTTP/1.1 20X 或重定向”

发布于 2024-08-31 14:50:24 字数 778 浏览 7 评论 0原文

我在 Debian 机器上安装了带有 PHP5 的 Pecl OAuth,并尝试向 LinkedIn 进行身份验证。打电话时;

OAuth->getAccessToken('https://api.lin...')\n#1

我明白了;

PHP 致命错误:未捕获异常“OAuthException”,消息“无效的身份验证/错误请求(收到 400,预期 HTTP/1.1 20X 或重定向)”

我已经从头开始尝试过,并且尝试了可用的 PHP API 包装器(当然,因为他们使用 OAuth Pecl ext)都有同样的问题。

我在某处读到它可能是服务器上的时间戳,但我将其与 ntpdate 同步;现在它经常这样做,所以时间服务器的偏移量几乎为0。

我首先尝试了这个类; http ://www.linkedphp.com/2009/11/26/first-release-classes-to-connect-with-php-to-linkedin-api/,评论中有人有同样的问题,但是该课程的创建者说“你有登录屏幕吗”;我没有,我收到一次“授予或拒绝”屏幕,然后出现空白屏幕并在日志中出现上述错误。

还能是什么?

谢谢

I have Pecl OAuth with PHP5 on a Debian box and I try to authenticate to LinkedIn. When calling;

OAuth->getAccessToken('https://api.lin...')\n#1

I get;

PHP Fatal error: Uncaught exception 'OAuthException' with message 'Invalid auth/bad request (got a 400, expected HTTP/1.1 20X or a redirect)'

I have tried it from scratch and I have tried the PHP API wrappers that are available and (ofcourse, because they use OAuth Pecl ext) have all the same problem.

I read somewhere it might be the timestamp on the server, but I synched that up with ntpdate; it does that quite often now, so the offset with the timeservers is almost 0.

I tried this class first; http://www.linkedphp.com/2009/11/26/first-release-classes-to-connect-with-php-to-linkedin-api/, someone in the comments has the same problem, however the creator of the class says 'do you get a login screen'; I don't, I get a 'Grant or Deny' screen once, after that a blank screen and the above error in my logs.

What else can it be?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

时光与爱终年不遇 2024-09-07 14:50:24

是的,确认了。时间戳是问题所在。
确保您的服务器日期/时间与世界其他地方同步(我使用时间服务器主机名或地址:ntp.cpsc.ucalgary.ca)
注意:我开始认为整个 oauth 事情是一件糟糕的、复杂的事情:)

Yep, confirmed. Timestamp IS the problem.
Make sure your server date/time is in sync with the rest of the world (i use Timeserver hostnames or addresses: ntp.cpsc.ucalgary.ca )
nb: I'm starting to think that this whole oauth thing is a bad , complicated thing :)

栀梦 2024-09-07 14:50:24

你应该发布你的代码。

除了时间戳问题之外,请求中缺少 callbacl URL 也会导致此错误。

You should post your code.

Besides the timestamp issues, missing callbacl URL in the request can also cause this error.

娇俏 2024-09-07 14:50:24

尝试使用以下格式:

$access_token_info = $oauth->getAccessToken($accesstokenurl, "", $token);

其中 $token 是 5 位确认码

Try using the format:

$access_token_info = $oauth->getAccessToken($accesstokenurl, "", $token);

where $token is the 5 digit confirmation code

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文