使用PHP中的curl的Twitter API" direct_messages / new.json"

时间:2015-08-19 10:41:01

标签: php curl twitter oauth

我正在使用oauth库使用twitter API使用curl向用户发送直接消息,但是获取" {"错误":[{& #34;代码":215,"消息":"错误验证数据。"}]}"。

如果我使用终端进行curl,那么它可以正常工作,但在通过PHP发送时会出错。

    <pre>
        <?php
            error_reporting(1);
            require("twitterOauth/autoload.php");

            use Abraham\TwitterOAuth\TwitterOAuth;

            $text = "Hello, How Are U?";

            $headers = array(
            'Authorization: OAuth oauth_consumer_key="OAuth oauth_consumer_key", 
            oauth_nonce="oauth_nonce", 
            oauth_signature="oauth_signature", 
            oauth_signature_method="HMAC-SHA1", 
            oauth_timestamp="1439978004", 
            oauth_token="oauth_token", 
            oauth_version="1.0"'
            );


            // Get cURL resource
            $curl = curl_init();
            // Set some options - we are passing in a useragent too here
            curl_setopt_array($curl, array(
                CURLOPT_RETURNTRANSFER => 1,
                CURLOPT_URL => 'https://api.twitter.com/1.1/direct_messages/new.json',
                CURLOPT_POST => 1,
                CURLOPT_SSL_VERIFYPEER => 0,
                CURLOPT_POSTFIELDS => array(
                    'text' => urlencode($text),
                    'screen_name' => 'screen_name'
                ),$headers
            ));

            // Send the request & save response to $resp
                $resp = curl_exec($curl);
                print_r('Curl error: ' . curl_error($resp));
                echo '<pre>'; print_r($resp); die;
            // Close request to clear up some resources
            curl_close($curl);
        ?>
    </pre>

0 个答案:

没有答案