API Skype Interviews - PullRequest
       13

API Skype Interviews

0 голосов
/ 12 декабря 2018

У меня проблема с использованием API интервью Skype:

Моя проблема заключается в реализации метода GET,

Это ошибка в тесте почтальона: Token error - err:1

enter image description here

Подробности HTTP-запроса:

enter image description here

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-запроса.

Для извлечения информации, такой как «заметки», «обратная связь» и «снимки кода», мыпросто нужно отправить HTTP-запрос GET на https://interviews.skype.com/api/interviews/YOUR_INTERVIEW_CODE.

примечание: для запроса GET опустите свойство sub в токене JWT.

Вот пример запроса для получения информации.

Запрос

GET /api/interviews/YOUR_INTERVIEW_CODE HTTP/1.1 

Ведущий: интервьюs.skype.com

Авторизация: Носитель

Тип контента: application / json

Ссылка: https://dev.skype.com/interviews#manage-jobs

Кто-нибудь знает, что яя делаю неправильно?

Спасибо

Леандро.

1 Ответ

0 голосов
/ 26 июля 2019

Мой друг, у меня была похожая проблема с токеном, пытающимся использовать метод POST.Ваша проблема в том, как вы генерируете токен ... В моем случае я обнаружил, что приведенный пример создания токена JWT посредственный.Они говорят, что вы должны использовать Random 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({}));
...