首页 > 解决方案 > 如何使用 PHP 发送 Twitter 直接消息

问题描述

我正在尝试向 twitter 用户发送直接消息,但结果返回 null。让追随者/朋友正在工作。这是下面的代码,相同的连接适用于创建朋友,但不适用于直接消息。

<?php
session_start();

require "twitteroauth/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
$twitteruser = "BigxxxxxNews"; //user name you want to reference
$consumerkey = "xxxxxxxxxxxElK95iNHTxtc6l";
$consumersecret = "xxxxxxxxxxxxxEN5WBg1p6ZIuNCleoCzfsmTXXDbpNiujiBb"; 
$accesstoken = "xxxxxxxxxxxxxxxxxxxxxxxxxxx0F4o3tr1pxgGIcGC1F"; 
$accesstokensecret = "xxxxxxxxxxxxxxxxxx4XqsySwL6GKXizUSeizCryf"; 

$connection = new TwitterOAuth($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);

 ***  Post DM to ID Start              ***
 *****************************************
 **/

    $userid= '90000000256';
    $msg = "This is my direct message"; 

$json = [
    'event' =>[
        'type' =>'message_create',
        'message_create' =>[
            'target' =>[
                'recipient_id' =>'1622222804'
            ],
            'message_data' =>[
                'text' =>'testdirectmessage123'
                ]
        ]
    ]
];
$j1=array('event'=>array('type'=>'message_create','message_create'=>array('target'=>array('recipient_id'=> '163516804'),'message_data'=>array('text'=>'nessage'))));

$result = $connection->post('direct_messages/events/new',$j1);
echo json_encode($result);

 /*****************************************
 *** Post DM to ID End                  ***
 ******************************************
 **/  
?>

标签: phptwitter

解决方案


在添加“true”参数后多次尝试后工作正常

$result = $connection->post('direct_messages/events/new',$j1,true);

推荐阅读