-1

アプリケーションの twitter アカウントにテキストを自動的に投稿したいと考えています。そのためのアカウントを作成し、必要なすべての情報を取得して、そのための php コードを記述します。それは単純なコードです: 投稿機能をテストするためだけに作成しました:

    <?php
    require_once 'oauth/twitteroauth.php';
    $message = "hiiiiiii"; #actual message to twitter

    define("CONSUMER_KEY", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");    
    define("CONSUMER_SECRET", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    define("OAUTH_TOKEN", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    define("OAUTH_SECRET", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
print_r($connection);

    $content = $connection->get('account/verify_credentials');
//print_r($content);


    $connection->post('statuses/update', array('status' => $message));
   ?>

アカウントから情報を取得しているので、接続は機能していると思いますが、何も投稿できないのはなぜですか? このメッセージを投稿しようとしましたが、このコードを実行した後、Twitter で何も起こらず、新しいツイートが表示されません????

$connection->post はメソッドです:

 /**
   * POST wrapper for oAuthRequest.
   */
  function post($url, $parameters = array()) {
    $response = $this->oAuthRequest($url, 'POST', $parameters);
    if ($this->format === 'json' && $this->decode_json) {
      return json_decode($response);
    }
    return $response;
  }
4

1 に答える 1

0

これらの資格情報を使用してアカウントから情報を受け取ることができる場合、私の最初の連絡先は、アプリに読み取り書き込み (投稿) のアクセス許可があることです。

dev.twitter.com/apps にアクセスします。アプリを選択し、[設定] --> [アプリケーションの種類] の下に必要なものが表示されます。

それは機能しませんでしたが、このアプリを介してアカウントに投稿するコードで何を変更しても、その機能は自分で設定した権限の範囲外であったため、機能しませんでした. これで、投稿できることがわかりました。

変化する

$connection->post('statuses/update', array('status' => $message));

$result = $connection->post('statuses/update', array('status' => $message));

次に、$result の値を確認します。これはいくつかの手がかりを提供するかもしれません

応答は、まだアクセス許可がないことを示しています。トークンを再生成して資格情報にアクセスし、それらを使用してコードを更新する必要があります。

 define("CONSUMER_KEY", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");    
 define("CONSUMER_SECRET", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
 define("OAUTH_TOKEN", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
 define("OAUTH_SECRET", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

これらの資格情報には以前のアクセス許可が関連付けられたままです。新しいトークンを要求すると、新しいアクセス許可が参照され、投稿できるようになります。

于 2013-08-07T07:34:27.507 に答える