Twit API回复并没有真正回复

时间:2015-01-14 22:55:09

标签: javascript node.js api twitter

我目前正在使用nodejs和Twit API Client编写一个小型Twitter机器人。

当我回复推文时,我使用以下代码:

T.post('statuses/update', { status: '@' + username + " " + id,  in_reply_to_status_id: id}, function(err, data, response) {
            if(err){
                console.log("Error");
                console.log(err);
            }
            console.log(response);
        })

如果T是经过正确验证的客户端,则用户名是我想要回复的推文用户的用户名,而id是我要回复的推文的id_str。

但是发生了一些奇怪的事情。

如果我检查我的通知,看起来我回复了推文,显示它们绑在一起。

但如果我点击时间轴上的推文,则不会显示回复。

不幸的是,由于缺少声誉,我无法发布图片,希望您能理解我的问题。 :)

3 个答案:

答案 0 :(得分:0)

尝试使用user.screen_name而不是用户名。

答案 1 :(得分:0)

我不确定khuderm提出了什么,但我认为你遇到的问题是GitHub issue中提到的问题。虽然有点不合逻辑,但实际上应该使用in_reply_to_status_id: id_str代替in_reply_to_status_id: id

前者只是字符串形式的同一个id(用双引号括起来)并且没有引号传递它会导致你描述的问题。

答案 2 :(得分:-1)

我最近遇到了同样的问题,解决方案很简单但很愚蠢。如果您回复推文或只是在推文中提及@username作为推文中的第一件事,那么它将作为各种类型的PM。如果您只是将@username移动到邮件的中间位置,它会显示,因为您还发送了in_reply_to_status_id。