我在使用Skype采访API时遇到问题:
我的问题是GET方法的实现
这是邮递员测试中的错误:Token error - err:1
HTTP请求的详细信息:
GET /api/interviews/w4474a56-8e4a-6870-7875-c64efb76bfa6 HTTP/1.1
Host: interviews.skype.com
Content-Type: application/json
Authorization: Bearer 8539e258-2778-8e39-a571-439e31f89973
我的面试代码
https://interviews.skype.com/scheduler?code=**w4474a56-8e4a-6870-7875-c64efb76bfa6**
文档第8步说:
如果您的应用程序希望利用面试后的Skype面试可以提供的所有信息,例如面试官的笔记,反馈和候选人的书面代码快照,那么您可以使用简单的HTTP请求来请求数据。
要检索“注释”,“反馈”和“代码快照”之类的信息,我们只需要向https://interviews.skype.com/api/interviews/YOUR_INTERVIEW_CODE发出HTTP GET请求即可。
注意:对于GET请求,请忽略JWT令牌中的sub属性。
这是一个检索信息的示例请求。
请求
GET /api/interviews/YOUR_INTERVIEW_CODE HTTP/1.1
主持人:views.skype.com
授权:不记名
Content-Type:应用程序/ json
链接:https://dev.skype.com/interviews#manage-jobs
有人知道我在做什么错吗?
谢谢
Leandro。
答案 0 :(得分:0)
我的朋友,我在尝试使用POST方法时遇到类似的问题。您的问题是生成令牌的方式...就我而言,我发现给出的创建JWT令牌的示例很普通。他们说您必须使用随机GUID,但他们从未指定使用哪种编码。 { “ jti”:“ d8661a14-4b7c-5fda-2227-9b055fcf5b10”,//随机GUID “ iss”:“ YOUR_API_KEY”, “ iat”:1519343714,//当前的NumericDate “ sub”:“ 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a”,// SHA256哈希请求正文 “ exp”:1519343724 //当前NumericDate + 10秒 } 我的解决方案是在.js文件中运行此代码,首先安装:
npm install --save guid sha256 jsonwebtoken node-fetch
然后使用正确的编码打印Guid,以供以后使用以生成令牌。
Test.js:
const Guid = require('guid');
const sha256 = require('sha256');
const jwt = require('jsonwebtoken');
function generateToken(content) {
jwt.sign({
jti: Guid.raw(),
iss: '7a80954b-d782-72d4-ec7f-e76c36c58593',
sub: sha256(content),
exp: Math.floor(Date.now() / 1000) + 10
}, '10620340-0f64-1f6e-ad25-49b53929bf9e')
console.log(Guid.raw());
}
generateToken(JSON.stringify({}));
答案 1 :(得分:0)
我的朋友,我在尝试使用POST方法时遇到类似的问题。您的问题是生成令牌的方式...就我而言,我发现给出的创建JWT令牌的示例很普通。他们说您必须使用随机GUID,但他们从未指定使用哪种编码。...
{
"jti": "d8661a14-4b7c-5fda-2227-9b055fcf5b10", // Random GUID
"iss": "YOUR_API_KEY",
"iat": 1519343714, // Current NumericDate
"sub": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", // SHA256
hash request body
"exp": 1519343724 // Current NumericDate + 10 seconds
}
我的解决方案是在.js文件中运行此代码,首先安装:
npm install --save guid sha256 jsonwebtoken node-fetch
然后使用正确的编码打印Guid,以供以后使用以生成令牌。
Test.js:
const Guid = require('guid');
const sha256 = require('sha256');
const jwt = require('jsonwebtoken');
function generateToken(content) {
jwt.sign({
jti: Guid.raw(),
iss: '7a80954b-d782-72d4-ec7f-e76c36c58593',
sub: sha256(content),
exp: Math.floor(Date.now() / 1000) + 10
}, '10620340-0f64-1f6e-ad25-49b53929bf9e')
console.log(Guid.raw());
}
generateToken(JSON.stringify({}));