在Twitter上使用Meteor的应用程序

时间:2017-04-24 08:01:00

标签: node.js meteor twitter twitter-oauth

我成功通过仅应用程序身份验证授权请求。但是当我试图用REST API发布推文时。该错误与无权发布推文有关。所以我做了一项研究,发现Twitter不允许仅限应用程序的身份验证来发布推文。

“它将无法发布推文或其他资源;”

但我找到了“您的访问令牌”区域。我可以用它来发布推文吗?我怎么用呢?

我也可以使用相同的方法进行评论吗?

到目前为止,这是我的代码,

HTTP.call('POST', 'https://api.twitter.com/oauth2/token', {
            params: { 'grant_type':'client_credentials'},
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
                'Authorization': 'Basic '+base64token
            }
        },function (error, response) {
            if (!error && response.statusCode == 200) {
                token = response.data.access_token;
                HTTP.call('POST', 'https://api.twitter.com/1.1/statuses/update.json', {
                    params: { 'status':data.tweet},
                    headers: {
                        'Authorization': 'Bearer '+token
                    }
                },function (error, response) {
                    if (!error && response.statusCode == 200) {
                        console.log(response);
                    } else {
                        console.error(error.message);
                    }
                }); 
            } else {
                console.error(error.message);
            }
        }); 

1 个答案:

答案 0 :(得分:2)

如果您甚至没有说明您是在客户端还是在服务器端运行该代码,那么很难告诉您具体的内容。

但是如果您在服务器端调用Twitter API(因为您应该避免泄漏凭据),那么您应该使用许多专用模块中的一个来与npm上可用的Twitter API进行交互。请参阅此答案以获取示例:

使用正确的工具比自己重新实现要容易得多,特别是如果你自己做错了,这显然是这里的情况。