对于这个特殊的任务,我已经决定最好是使用Reddit API。查看可用的不同包装器,我选择使用snoowrap。这些例子很清楚,我想用这样的东西来完成身份验证:
const snoowrap = require('snoowrap');
const otherRequester = new snoowrap({
userAgent: 'put your user-agent string here',
clientId: 'put your client id here',
clientSecret: 'put your client secret here',
username: 'put your username here',
password: 'put your password here'
});
我可以在Reddit Apps (Preferences Section)上找到clientID
和clientSecret
等重要信息。令我困惑的是userAgent
输入。我到底应该在这里输入什么?
我以为我可以去同一个用户创建的Reddit OAuth Helper。但是,在流程结束时,我似乎得到了一个 Reddit Bad Request 。
答案 0 :(得分:1)
用户代理是发送请求的浏览器:
您可以使用以下命令填充该数据:
app.get('/api-call', function(request, response){
const snoowrap = require('snoowrap');
const otherRequester = new snoowrap({
userAgent: request.headers['user-agent'],
clientId: 'put your client id here',
clientSecret: 'put your client secret here',
username: 'put your username here',
password: 'put your password here'
});
// rest of the code
});
修改强>
以上只适用于客户端,如果您在Nodejs(Expressjs)环境中服务器端,则可以从执行API调用的函数的请求参数中的头数据中获取用户代理。像这样:
N