PHP Twitter API具有事件类型的新直接消息(2018年9月更改)

时间:2018-09-24 21:48:57

标签: php json api twitter

使用twitter API通过以下方法发送直接消息:带有php,tmhOAuth库的“ POST direct_messages / new”。

自几天前以来,它们发生了变化(如migration documentation中所述 )的方法:“ POST direct_messages / events / new”,其中post参数的结构发生了变化,即json。

进行更改以表明在测试时获得响应代码415:“此客户端应用程序未批准回调URL。可以在应用程序设置中调整批准的回调URL”(twitter help

向应用程序添加url回调,始终出现相同的错误。有人迁移时有同样的问题吗?有什么建议吗?

我用一些代码详细介绍了实现的更改:

    $options = array(
    "event"                 => array(
                                    "type"              => 'message_create',
                                    "message_create"    => array(
                                    "target"        => array('recipient_id'     => $id_usuario),    
                                                                                "message_data"  => array('text'             => $texto),
                                                    ),
                    )
            );
    $json_options = json_encode($options);
    $headers_extra = array('Content-Type' => 'application/json');

    $code = $this->_tmhOAuth->request('POST', $this->_tmhOAuth->url('1.1/direct_messages/events/new'), $json_options, $headers_extra);

1)在“选项”中,格式由请求的json更改,

2)在发送请求方法之前使用“ json_encode”功能。

3)添加了“ Content-Type”标头,以供tmhOAuth库使用。

感谢您的任何评论或帮助

1 个答案:

答案 0 :(得分:0)

tmhOauth太旧,并且有一段时间没有更新。我花了一些时间尝试进行调整,最后切换到https://twitteroauth.com/

按照 JSON数据部分中的示例,我能够在1分钟内发送DM和4行代码。