我一直在测试这个脚本,并且能够让它回复我在自己的时间轴上发布的推文,但我试图让它与Twitter提及。所有数据都正确传递,就像我提到的in_reply_to_status_id
一样,但它似乎不起作用。
我能看到的唯一其他POST"可能"我需要的是POST direct_messages/events/new (message_create)
,但我不想发送私信,我想回复那个提及。
我怀疑我不能像我自己的推文那样回复提及。
有没有办法回复提及我该怎么做或我做错了什么?
require_once('TwitterAPIExchange.php');
$settings = array(
'oauth_access_token' => $twitter_accesstoken,
'oauth_access_token_secret' => $twitter_accesstokensecret,
'consumer_key' => $twitter_apikey,
'consumer_secret' => $twitter_apisecret
);
$url = 'https://api.twitter.com/1.1/statuses/update.json';
$postfields = array(
'in_reply_to_status_id' => $in_reply_to_status_id,
'status' => $status
);
$requestMethod = 'POST';
$twitter = new TwitterAPIExchange($settings);
$response = $twitter->setPostfields($postfields)
->buildOauth($url, $requestMethod)
->performRequest();
}
解决
我明白了。我的代码很好我只需要将"@username " . $status
添加到状态并且它有效。
我学到的其他东西,我认为值得一提的是帮助他人,重要的是在返回时查看in_reply_to_status_id_str
字段的响应。如果它是空白,则它是一条新的推文,如果它不是像123456789123456789
这样的空白那个ID是原始推文的ID,那么你可以将推文和回复之间的差异联系起来。