【发布时间】:2018-07-17 04:56:54
【问题描述】:
我正在尝试创建一个简单的网络应用程序,它可以导出您关注的人(“朋友”)的列表。我正在使用带有twitter package 的node.js。我想首先使用我的 Consumer Key 和 Consumer Secret 来获取 Bearer Token,如 here 所示。然后我想使用Consumer Secret、Consumer Key和新创建的Bearer Token来验证twitter。
我的问题是我正在使用异步函数request.post 获取我的承载令牌,但我不知道如何将令牌传递给我用来通过 twitter 进行身份验证的函数。它是异步的,所以我不能只做(伪代码)
function getBearerToken() { return request.post(bearerTokenParameters) }
var client = new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: getBearerToken()})
因为request 是异步的并且不返回响应。尝试做类似(伪代码)
request-promise.post(bearerTokenParameters)
.next( (response) => {
return new Twitter({
consumer_secret: CONSUMER_SECRET,
consumer_key: CONSUMER_KEY,
bearer_token: response.bearer_token
})
}
)
但现在我不能使用我刚刚创建的Twitter 对象。
我知道我可以使用script 生成我的不记名令牌,然后手动输入它,但如果我已经拥有所有信息,似乎必须有更好的方法。
【问题讨论】:
-
既然你知道你可以预先生成不记名令牌,你为什么选择在代码中做呢?
-
@JoshAbraham 我知道我可以提前做,但我觉得没有必要。我正在 glitch.com 上制作应用程序,我喜欢可以在任何地方开发它,甚至是移动设备。每次更改 API 密钥时都需要生成令牌,这会有点阻碍。如果我不能解决这个问题,我可能会这样做。
标签: javascript node.js asynchronous twitter twitter-oauth