gpt4 book ai didi

javascript - Chrome 扩展程序 OATH 401 错误(未经授权)

转载 作者:行者123 更新时间:2023-11-30 13:33:04 25 4
gpt4 key购买 nike

我正在使用 JS 访问 rdio 插件。我正在为 Oauth 使用以下 http://code.google.com/chrome/extensions/tut_oauth.html .我能够获得签名 token 等。但是,每当我尝试在 http://api.rdio.com/1/ 发送签名请求时,我收到 401,未经授权的错误。

X-Mashery-错误代码:ERR_401_INVALID_SIGNATUREX-Mashery-Responder:mashery-web4.LAX

这是我要发送的内容:

 var url = 'http://api.rdio.com/1/';
var request = {
'method': 'POST',
'headers': {
'Content-Type': 'application/x-www-form-urlencoded'
},
'parameters': {
'alt': 'json',
'method':'currentUser'
},
'body': 'Data to send'
};

bgPage.oauth.sendSignedRequest(url, mycallback, request);

我在控制台收到以下错误。

Request URL:http://api.rdio.com/1/?alt=json&method=currentUser&oauth_consumer_key=yv8ehzehdv55**********&oauth_nonce=******&oauth_signature=**********&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1305190893&oauth_token=us6myp99p4qc86umea9p8fp*****************
Request Method:POST
Status Code:401 Unauthorized
Request Headers
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:12
Content-Type:application/x-www-form-urlencoded
Cookie:__qca=P0-158278476-1296771701175; r=eyJfdSI6IDE5MjY1LCAiX2UiOiAzMTU1NjkyNn0.SvN8xd7rIuLzTp7hxqi4eJEdvu8; __utmz=225830489.1305153361.198.18.utmcsr=rdioquiz.ianloic.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __utma=225830489.281668250.1296676147.1305184513.1305187119.201; __utmc=225830489
Host:api.rdio.com
Origin:chrome-extension://oiojbkkpmcgmpnjkhjmaggajckamjkap
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_6) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24
Query String Parameters
alt:json
method:currentUser
oauth_consumer_key:yv8ehzehdv55pbb74ss9dt23
oauth_nonce:BQF0x
oauth_signature:KttF************tRO 8PL yjPF2Ktk=
oauth_signature_method:HMAC-SHA1
oauth_timestamp:1305190893
oauth_token:us6myp99p4qc86umea9p8fphbgq4dxdd76txvyn***********
Form Data
Data to send:
Response Headers
Accept-Ranges:bytes
Content-Length:30
Content-Type:text/xml
Date:Thu, 12 May 2011 09:01:33 GMT
Server:Mashery Proxy
X-Mashery-Error-Code:ERR_401_INVALID_SIGNATURE
X-Mashery-Responder:mashery-web4.LAX

*我只是想模仿这里提到的内容。它是一个来自谷歌的 Oauth 库(http://code.google.com/chrome/extensions/tut_oauth.html),使 Chrome 扩展开发变得容易。他们有一个 Oauth 示例代码来获取您的文档列表等。http://code.google.com/chrome/extensions/samples.html#4e35caa9742fb82dbd628892d23a781614f6eff6我想我无法通过向 rdio API 发送 POST 请求。它给出了一个未经授权的错误。*

最佳答案

我们在相同的服务 (rdio) 和方法(“currentUser”)中发现了类似的问题。

最终起作用的是:(1) 确保在 POST 正文中有 method=currentUser;如果是这种情况,我不确定上面的 curl 输出。

而且,这是真正解决问题的一点:(2) 我们还必须将方法名称添加到签名本身。

仅供引用,我们使用了这个库:https://oauth.googlecode.com/svn/code/javascript/

但如您所见,棘手的部分是弄清楚如何在创建签名的库中植入方法。如果签名中没有“method=currentUser”,我们会遇到同样的错误情况。

关于javascript - Chrome 扩展程序 OATH 401 错误(未经授权),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com