下記の記事を参考にして、@nhk_newsのツイートを自動でリツイートするphpを作りました。


http://ameblo.jp/webmage/entry-11151448432.html

ところが、cronを設定してもきちんと動きません。
どこが間違っているのか教えてください。


<?php

//最新ツイートを1件取得
$url = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=nhk_news&count=5";
$tweet = json_decode(file_get_contents($url,true));

$retweet = $tweet[0]->text;
$id = $tweet[0]->nhk_news;

// twitteroauth.phpを読み込む。
require_once("twitteroauth.php");

// Consumer keyの値
$consumer_key = "(ここに Consumer key を入力しました。)";
// Consumer secretの値
$consumer_secret = "(ここに Consumer secret を入力しました。)";
// Access Tokenの値
$access_token = "(ここに Access Token を入力しました。)";
// Access Token Secretの値
$access_token_secret = "(ここに Access Token Secret を入力しました。)";

// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);

// TwitterへRTする。
$req = $to->OAuthRequest("http://api.twitter.com/1/statuses/retweet/{$id}.xml","POST",array("status"=>$retweet));



?>

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2013/07/05 00:40:03

回答0件)

回答はまだありません

  • id:tobeoscontinue
    twitterのAPIが6/11から1.1に変わったようで、アクセスするとエラーが返ってきています。
    その為ではないでしょうか
    http://ascii.jp/elem/000/000/798/798472/
  • id:KoyaM
    >>tobeoscontinue
    そういえばそんなことがありましたね...。
    どこを直せばいいか教えて頂けませんか?
  • id:tobeoscontinue
    環境が無いため確認しておりませんが1を1.1に変更すればuser_timelineはokだと思います。
    twitteroauth.phpは最新を落とし直す必要があるかもしれません。
    retweetでも同じく1を1.1に変更します。フォーマットからxmlは無くなったのでjsonに変更します。

    $tweet
    $to
    $req
    と正しく値が取れているか順にvar_dumpなどして確認しながら進めるといいと思います。
  • id:KoyaM
    >>tobeoscontinue
    返信が遅れてごめんなさい!
    1.1をダウンロードし直したところ、きちんと動きました。
    ありがとうございます!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません