112

Twitter の oAuth のコールバック URL をローカルホスト開発環境にヒットさせるのに苦労している人はいますか? どうやら最近無効になったようです。http://code.google.com/p/twitter-api/issues/detail?id=534#c1

誰にも回避策がありますか。開発を止めたくない

4

17 に答える 17

135

代替案 1。

.hosts (Windows) または etc/hosts ファイルをセットアップして、ライブ ドメインがローカルホスト IP を指すようにします。そのような:

127.0.0.1 xyz.com

xyz.com は実際のドメインです。

代替案 2。

また、この記事では、代わりに URL 短縮サービスを使用するためのヒントも提供しています。ローカル URL を短縮し、結果をコールバックとして提供します。

代替案 3。

http://127.0.0.1:8080さらに、の代わりに、たとえば Twitter へのコールバックとして提供することも機能するようですhttp://localhost:8080

于 2009-08-17T18:45:01.580 に答える
25

私は先週これをしなければなりませんでした。どうやらlocalhost動作しませんが、127.0.0.1Go は動作します。

もちろん、これは 2 つのアプリを Twitter に登録していることを前提としています。1 つはライブ用でwww.mysite.com、もう1 つは127.0.0.1.

于 2010-01-04T23:55:08.227 に答える
11

コールバック URL としてhttp://127.0.0.1:xxxx/を入力するだけです。ここで、xxxx はフレームワークのポートです。

于 2012-02-25T13:43:53.367 に答える
8

コールバック URL が編集されました

http://localhost:8585/logintwitter.aspx

に変換

http://127.0.0.1:8585/logintwitter.aspx
于 2014-12-29T14:19:56.047 に答える
8

はい、OAuth で見つかった最近のセキュリティ問題により、無効になりました。現時点での唯一の解決策は、2 つの OAuth アプリケーションを作成することです。1 つは本番用、もう 1 つは開発用です。開発アプリケーションでは、ライブの代わりに localhost コールバック URL を設定します。

于 2009-05-03T16:30:49.263 に答える
7

これが私がやった方法です:

登録されたコールバック URL: http://127.0.0.1/Callback.aspx

   OAuthTokenResponse authorizationTokens = 
        OAuthUtility.GetRequestToken(ConfigSettings.getConsumerKey(), 
                                     ConfigSettings.getConsumerSecret(), 
                                     "http://127.0.0.1:1066/Twitter/Callback.aspx");

構成設定:

public static class ConfigSettings
{
    public static String getConsumerKey()
    {
        return System.Configuration.ConfigurationManager.AppSettings["ConsumerKey"].ToString();
    }

    public static String getConsumerSecret()
    {
        return System.Configuration.ConfigurationManager.AppSettings["ConsumerSecret"].ToString();
    }

}

Web.config:

<appSettings>

    <add key="ConsumerKey" value="xxxxxxxxxxxxxxxxxxxx"/>
    <add key="ConsumerSecret" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>

</appSettings>

プロジェクトの「use dynamic ports」プロパティを「false」に設定し、代わりに静的ポート番号を入力してください。(私は1066を使用しました)。

これが役立つことを願っています!

于 2011-05-09T12:54:30.107 に答える
7

http://smackaho.stを使用

それが行うことは、 localhost または 127.0.0.1 のフィルターをバイパスできるようにする 127.0.0.1 への単純な DNS 関連付けです。

smackaho.st。127.0.0.1 で 28800

したがって、リンクをクリックすると、ローカル Web サーバーにあるものが表示されます (ない場合は 404 が返されます)。もちろん、任意のページ/ポートに設定できます:

http://smackaho.st:54878/twitter/callback

于 2011-09-20T19:27:19.497 に答える
3

Fiddlerを使用すると、非常に便利に実行できます。

  • メニューを開くツール > ホスト...
  • のような行を挿入し、127.0.0.1 your-production-domain.com「リクエストの再マッピングを有効にする...」がチェックされていることを確認します。を忘れずに押してくださいSave
  • 実際の運用サーバーへのアクセスが必要な場合は、Fiddler を終了するか、再マッピングを無効にします。
  • Fiddler を再度起動すると、再マッピングが有効になります (チェックされている場合)。

うれしいボーナスは、次のようにカスタム ポートを指定できることです 127.0.0.1:3000 your-production-domain.com(hosts ファイルを介してこれを実現することは不可能です)。また、IP の代わりに任意のドメイン名 (例: ) を使用できますlocalhost

このように、Twitter アプリを 1 回だけ登録することができます (必須ではありません) (ただし、ローカルでの開発と運用に同じキーを使用することを気にしない場合)。

于 2014-08-12T21:34:41.870 に答える
2

この関数をTwitterAPIExchange.phpの180行目で編集します。

public function performRequest($return = true)
{
    if (!is_bool($return)) 
    { 
        throw new Exception('performRequest parameter must be true or false'); 
    }

    $header = array($this->buildAuthorizationHeader($this->oauth), 'Expect:');

    $getfield = $this->getGetfield();
    $postfields = $this->getPostfields();

    $options = array( 
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_HEADER => false,
        CURLOPT_URL => $this->url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false
    );

    if (!is_null($postfields))
    {
        $options[CURLOPT_POSTFIELDS] = $postfields;
    }
    else
    {
        if ($getfield !== '')
        {
            $options[CURLOPT_URL] .= $getfield;
        }
    }

    $feed = curl_init();
    curl_setopt_array($feed, $options);
    $json = curl_exec($feed);
    curl_close($feed);

    if ($return) { return $json; }
}
于 2013-09-11T06:56:13.700 に答える
1

Twitter では、設定に値がある限りlocalhost、設定にあるものと一緒に使用できるようになりました。Callback URL

于 2014-11-21T07:07:56.853 に答える
1

Twitter アプリで callbackurl を設定します: 127.0.0.1:3000 および 0.0.0.0 の代わりに 127.0.0.1 にバインドするように WEBrick を設定します

コマンド: rails s -b 127.0.0.1

于 2013-01-15T18:26:12.853 に答える