7

Twitter に対して OAuth を実行しようとすると、localhost:port (例: http://localhost:6969 )に戻ります。

Linq2Twitter も使用しようとしています。Twitter でアプリケーションをセットアップしようとすると、

  1. アプリケーション Web サイト。
  2. Webサイト。
  3. コールバック URL。

http://localhost:6969になる

では、localhost 開発マシンに対して Twitter OAuth を作成するにはどうすればよいでしょうか?

編集: AArnottがこの投稿を見つけて読んでくれることを密かに望んでいます :)

編集2:

アンドリューが彼の考えを投稿したので、この返信をより明確にするために、さらに情報を追加します.

したがって、これがSP(この場合はTwitterです...)にリダイレクトするためのサンプルコード(私のものではありませんが、ここで働いている雇われた銃)である場合

public void StartOAuthAuthorize()
{
    string link = twitterContext.GetAuthorizationPageLink(false, false);
    var uri = new Uri(link);
    NameValueCollection urlParams = HttpUtility.ParseQueryString(uri.Query);
    OAuthToken = urlParams["oauth_token"];

    HttpContext.Current.Session["twitterService"] = this;
    HttpContext.Current.Response.Redirect(link);
}

これは、コールバック URLをハイジャックする場所です.... ?

4

2 に答える 2

2

答えはあなたを驚かせるかもしれません...

oauth クライアント登録ページ用に、Twitter が許可する任意のコールバック URI (おそらく、本番環境で使用することを想定している URL) を指定します。

OAuth の未承認のトークン リクエストを送信するときに、その時点でコールバック URL を指定するオプションがあります。これは、Twitter が代わりに使用することを好みます。その時点で localhost を指定すると、完全に機能します。

内部で DotNetOpenAuth を使用する LinqToTwitter を使用しているため、SP への承認要求を発行するときに「localhost」を指定する必要はありません。DotNetOpenAuth は、ユーザーが localhost にいることを自動的に認識し、そのコールバック URI を送信します。

更新: そして、LinqToTwitter の最新バージョンを実行していることを確認してください (少なくとも変更セット 56159... リリース v1.11 よりも新しい)。それ以外の場合は OAuth 1.0 を使用しており、Twitter は OAuth 1.0 クライアントの認証要求で送信されたコールバック URL を無視します。

于 2009-08-07T01:46:30.833 に答える
2

私でさえ401エラーを取得していました..しかし、それは解決されました..アプリケーションをTwitterに登録するときに、http://localhost:8080のようなコールバックURLを指定する必要があります。

私は Java を使用してこれを行ったので、私のコードは次のとおりです。 String CallbackURL="http://localhost:8080/tweetproj/index.jsp"; provider.retrieveRequestToken(consumer,CallbackURL);

ここで、tweetproj は私のプロジェクト名であり、index.jsp は 1 つの JSP ページです...

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

于 2010-11-26T12:31:13.880 に答える