0

Twitterに投稿するメディアをセルフホストするためにTweetbotのカスタム画像エンドポイントと組み合わせて(使用される)OAuthEchoを使用する小さなアプリがあります。最近のAPIアップデートでアプリが壊れてしまい、修正方法に関する情報が見つからないようです。

更新前に使用していたクラスは次のとおりです。

// Twitter oAuth Echo Class
// Author: http://shikii.net/blog/creating-a-custom-image-service-for-twitter-for-iphone/
class namespace_TwitterOAuthEcho
{
  public $verificationUrl = "https://api.twitter.com/1/account/verify_credentials.json";
  //isset($_SERVER['X-AUTH-SERVICE-PROVIDER']) ? $_SERVER['X-AUTH-SERVICE-PROVIDER'] : false;

  public $userAgent = __CLASS__;

  public $verificationCredentials;

  /**
   *
   * @var int
   */
  public $resultHttpCode;
  /**
   *
   * @var array
   */
  public $resultHttpInfo;
  public $responseText;

  /**
   * Save the OAuth credentials sent by the Consumer (e.g. Twitter for iPhone, Twitterrific)
   */
  public function setCredentialsFromRequestHeaders()
  {
    $this->verificationCredentials = isset($_SERVER['HTTP_X_VERIFY_CREDENTIALS_AUTHORIZATION'])
      ? $_SERVER['HTTP_X_VERIFY_CREDENTIALS_AUTHORIZATION'] : false;
  }

  /**
   * Verify the given OAuth credentials with Twitter
   * @return boolean
   */
  public function verify()
  {
    $curl = curl_init($this->verificationUrl);
    curl_setopt($curl, CURLOPT_USERAGENT, $this->userAgent);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Authorization: ' . $this->verificationCredentials,
      ));

    $this->responseText = curl_exec($curl);
    $this->resultHttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    $this->resultHttpInfo = curl_getinfo($curl);
    curl_close($curl);

    return $this->resultHttpCode == 200;
  }
}

Twitter APIの初心者として、それを再び機能させるために何を変更すればよいかわかりません。TwitterのOAuthEchoドキュメントは、2012年8月以降更新されていないため、役に立ちません。

TwitterのAPI1.1の概要ページには、すべてのエンドポイントに認証が必要であると記載されています。罰金。新しいアプリをセットアップしました。私のコンシューマーキー/シークレットを取得しました。しかし、それらがどこに行くのかはわかりません。Twitterでアプリケーションの設定を編集するとき、ここでどのような設定を行うべきかわかりません。私のアプリは(私の意見では)実際にTwitterと対話する必要はありません。ツイートにURLを配置できるように、URLをTweetbot(任意のTwitterクライアント)に返送しようとしています。

これを更新するための助けをいただければ幸いです。ありがとうございました。

4

1 に答える 1

4

交換

public $verificationUrl = "https://api.twitter.com/1/account/verify_credentials.json"; 

with

public $verificationUrl = "https://api.twitter.com/1.1/account/verify_credentials.json";

それでおしまい。URLのみを変更する必要があります。Twitterアプリも変更する必要はありません。古いAPPでも動作します。

于 2013-03-15T17:12:32.517 に答える