在 Javascript 中实施 Twitter API 仅应用程序身份验证
Implementing Twitter API application-only authentication in Javascript
我正在尝试创建一个简单的 Web 应用程序,它可以导出您关注的人的列表 ("friends")。我正在使用 node.js 和 twitter package. I want to first use my Consumer Key and Consumer Secret to get a Bearer Token as shown here。然后我想使用 Consumer Secret、Consumer Key 和新创建的 Bearer Token 进行身份验证推特。
我的问题是我正在使用异步函数 request.post
获取我的 Bearer Token,但我不知道如何将令牌传递给我用来通过 Twitter 进行身份验证的函数。它是异步的,所以我不能只做(伪代码)
function getBearerToken() { return request.post(bearerTokenParameters) }
var client = new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: getBearerToken()})
因为 request
是异步的并且 return 没有响应。尝试做类似(伪代码)
request-promise.post(bearerTokenParameters)
.next( (response) => {
return new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: response.bearer_token
})
}
)
但是现在我不能使用我刚刚创建的 Twitter
对象。
我知道我可以使用 script 生成我的 Bearer Token,然后手动输入它,但如果我已经拥有所有信息,似乎必须有更好的方法。
var client;
function getBearerToken()
{
return new Promise(function(resolve, reject) {
request.post(bearerTokenParameters).then(function(response) {
return resolve(response);
}).catch(function(err) {
return reject(err)
})
}
}
getBearerToken()
.then( (response) => {
client = new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: response.bearer_token
})
}
我正在尝试创建一个简单的 Web 应用程序,它可以导出您关注的人的列表 ("friends")。我正在使用 node.js 和 twitter package. I want to first use my Consumer Key and Consumer Secret to get a Bearer Token as shown here。然后我想使用 Consumer Secret、Consumer Key 和新创建的 Bearer Token 进行身份验证推特。
我的问题是我正在使用异步函数 request.post
获取我的 Bearer Token,但我不知道如何将令牌传递给我用来通过 Twitter 进行身份验证的函数。它是异步的,所以我不能只做(伪代码)
function getBearerToken() { return request.post(bearerTokenParameters) }
var client = new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: getBearerToken()})
因为 request
是异步的并且 return 没有响应。尝试做类似(伪代码)
request-promise.post(bearerTokenParameters)
.next( (response) => {
return new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: response.bearer_token
})
}
)
但是现在我不能使用我刚刚创建的 Twitter
对象。
我知道我可以使用 script 生成我的 Bearer Token,然后手动输入它,但如果我已经拥有所有信息,似乎必须有更好的方法。
var client;
function getBearerToken()
{
return new Promise(function(resolve, reject) {
request.post(bearerTokenParameters).then(function(response) {
return resolve(response);
}).catch(function(err) {
return reject(err)
})
}
}
getBearerToken()
.then( (response) => {
client = new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: response.bearer_token
})
}