3

Twitter にメッセージを投稿しようとしている php プロジェクトに取り組んでいます。Twitterを認証するための次のコードがあります。約30分前に作業していたときは正常に機能し、認証に成功し、プロファイルの写真とユーザー名を問題なく取得できました。以下はコードです。

function authenticate($oauth_token)
        {
            require ("../../../libraries/twitterLib/secret.php");
            $twitterObj = new EpiTwitter($consumer_key, $consumer_secret);
            $twitterObj->setToken($oauth_token);

            $token = $twitterObj->getAccessToken();
            $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);
            $_SESSION['ot'] = $token->oauth_token;
            $_SESSION['ots'] = $token->oauth_token_secret;
            $twitterInfo = $twitterObj->get_accountVerify_credentials();
            echo "<pre>";
            print_r($twitterInfo->response);
            echo "</pre>";
            $username = $twitterInfo->screen_name;
            $profilePic = $twitterInfo->profile_image_url;

            echo $this->addToDatabase($username, $profilePic, $token, $_GET['oauth_verifier']);
        }

これが機能したら、メッセージを投稿しようとしましたが、Sorry, that page does not existエラー コード 34 が表示されました。投稿に問題があるだけだと思っていましたが、oauth トークンを削除して再認証しようとしたところ、上記のコードが半分機能しました一時間前は機能しなくなり、以下の出力が得られます

Array
(
    [errors] => Array
        (
            [0] => Array
                (
                    [message] => Sorry, that page does not exist
                    [code] => 34
                )

        )

)

少し前に機能していたのに、なぜ突然これが発生するのか理解できません。コードのこの部分は、機能してから変更されていません。

ご協力いただきありがとうございます。

4

2 に答える 2

2

EpiTwitter.php の API 接続 URL を変更することで、この問題は既に修正されています。

class EpiTwitter extends EpiOAuth
{
  const EPITWITTER_SIGNATURE_METHOD = 'HMAC-SHA1';
  protected $requestTokenUrl= 'https://api.twitter.com/oauth/request_token';
  protected $accessTokenUrl = 'https://api.twitter.com/oauth/access_token';
  protected $authorizeUrl   = 'https://api.twitter.com/oauth/authorize';
  protected $authenticateUrl= 'https://api.twitter.com/oauth/authenticate';
  protected $apiUrl         = 'https://api.twitter.com';
  protected $searchUrl      = 'http://search.twitter.com';

とにかく、 https://github.com/jmathai/twitter-async/treeからファイルを更新することをお勧めします

于 2012-10-10T22:40:29.617 に答える
2

Twitter 検索については、 https: //api.twitter.com/1/search.jsonから検索リクエストを送信できなくなっていることがわかりました。

代わりにhttps://api.twitter.com/1.1/search/tweets.jsonを使用する必要があります。

于 2012-10-11T10:55:47.547 に答える