我已设法授予用户访问权限,从而根据需要access_token
获取retrieve the data from the Angellist API。
下一步是获取用户数据。我们可以从Angellist API中读取,您可以通过经过身份验证的HTTPS GET请求来执行此操作:
使用令牌
必须进行任何需要身份验证的请求 使用HTTPS,使用HTTP授权中提供的访问令牌 标头,请求正文或查询字符串。 AngelList仅支持Bearer 令牌,如 http://tools.ietf.org/html/draft-ietf-oauth-v2-bearer-08。一个例子 使用查询字符串:
GET https://api.angel.co/1/me?
access_token=...
要在NodeJS中发出请求,我使用npm包request,如下所示:
function testRequest(access_token) {
console.log('test request');
var urltest = "https://api.angel.co/1/me?access_token=" + access_token;
request.get(urltest,
{
'auth': {
'bearer': access_token
}
},
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log('body', body)
}
console.log('body', body)
console.log('error', error)
}
);
};
然而,我一直收到错误:
body {"success":false,"error":{"type":"unauthorized","message":"The authenticated user is not authorized for this request."}}
我做错了什么? access_token是否需要转换或者某种东西,即它不是持有人令牌?
答案 0 :(得分:0)
您可以尝试按如下方式发送请求:
var optionsGetUserInfo = {
method: 'GET',
url: "https://api.angel.co/1/me?access_token=" + access_token",
headers: {
'Authorization': 'Bearer ' + access_token
'Accept' : 'application/json',
'Content-Type' : 'application/json'
}
}
request(optionsGetUserInfo, function (error, response, body) {
if (!error && response.statusCode == 200) {
etc...
答案 1 :(得分:0)
我发现当尝试使用另一个AngelList帐户登录时,它可以运行。我之前尝试过的帐户与我注册客户端应用程序的帐户相同。不知道为什么会有所作为,但它确实有效。