2017-06-21 25 views
0

我正在使用Twit Node.js API。 我试图做的是回复一条与特定关键字匹配的推文。我希望我的回复推文显示在下面的其他推文内。就像当你通过应用程序或网站回复。使用twit和Node.js回复tweet

我的代码做的是在这里:

var reply = function(tweet) { 
    var res = { 
    status: 'This is a tweet', 
    in_reply_to_status_id: tweet.id_str 
    }; 

    twitter.post('statuses/update', res, 
    function(err, data, response) { 
     console.log(data); 
    } 
); 
} 

的状态正确写入答复JSON但in_reply_to_status_id保持为空。推文发布到博客账户,但未回复推文应该回复。

为什么它不起作用?

是的,我试图写入in_reply_to_status_id_str,我试图使tweet.id_str一个字符串。

我有谁知道我错过了什么?

谢谢!

我的回答JSON是在这里:

{ created_at: 'Wed Jun 21 07:44:22 +0000 2017', 
    id: 877431986071142400, 
    id_str: '877431986071142400', 
    text: 'This is a tweet', 
    truncated: false, 
    entities: { hashtags: [], symbols: [], user_mentions: [], urls: [] }, 
    source: '<a href="https://example.com" rel="nofollow">Spatinator</a>', 
    in_reply_to_status_id: null, 
    in_reply_to_status_id_str: null, 
    in_reply_to_user_id: null, 
    in_reply_to_user_id_str: null, 
    in_reply_to_screen_name: null, 

如果你需要更多的JSON输入反应让我知道的。

回答

1

解决方法是在tweet.user.screen_name中添加一个提到响应json的状态。 像这样的作品:

var reply = function(tweet) { 
    var res = { 
    status: 'This is a tweet @' + tweet.user.screen_name, 
    in_reply_to_status_id: '' + tweet.id_str 
    }; 

    twitter.post('statuses/update', res, 
    function(err, data, response) { 
     console.log(data); 
    } 
); 
}