3

私の問題は、Yahoo からリクエスト トークンを取得しようとしているときにエラーが発生することです。エラーは、Im missing oauth_callback parameter を示しています。はい、必要ないので見逃しています。使用したくない場合は、「oob」値に設定する必要があることを読みました(デスクトップアプリ)。そして、私はそれをしましたが、役に立ちませんでした。null に設定すると、同じことが起こります。JavaにOAuthを使用しています:http://oauth.googlecode.com/svn/code/java/core/

OAuthServiceProvider serviceProvider = new OAuthServiceProvider("https://api.login.yahoo.com/oauth/v2/get_request_token",
                                                                        "https://api.login.yahoo.com/oauth/v2/request_auth",
                                                                        "https://api.login.yahoo.com/oauth/v2/get_token");
OAuthConsumer consumer = new OAuthConsumer("oob", consumerKey, consumerSecret, serviceProvider);
OAuthAccessor accessor = new OAuthAccessor(consumer);
OAuthClient client = new OAuthClient(new HttpClient4());
OAuthMessage response = client.getRequestTokenResponse(accessor, OAuthMessage.POST, null);
System.out.println(response.getBodyAsStream());
4

4 に答える 4

1

Scribeを使ってみましたか?

OAuth Java ライブラリにも問題があったので、それを開発しました。これはほとんどクロスプロバイダーであり、使用しているものよりも文書化されています。

Yahoo で動作しない場合は、独自のプロバイダーを作成して簡単に拡張できます。

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

于 2010-03-29T15:05:48.583 に答える
1

Java OAuthMassage クラスに問題があります。addRequiredParameters メソッドに次の行を追加して解決しました。 if (pMap.get(OAuth.OAUTH_CALLBACK) == null) { まだこの問題がある場合は、私がお手伝いします: rbouadjenek@gmail.com

于 2010-06-26T12:49:40.757 に答える
0

元の問題が解決されたかどうかは定かではありませんが、Yahoo が先週リリースした新しい Java OAuth SDK を紹介したいと思います:
http://developer.yahoo.net/blog/archives/2010/07/yos_sdk_for_java.html

Java を使用して OAuth 経由で Yahoo のサービスにアクセスしようとする開発者は、この SDK の一部が役立つことがあります。

于 2010-07-12T18:12:36.360 に答える
0

私はそのライブラリを使用していませんが、コールバック URL を適切に処理していないようです。OAuth 1.0a ( http://oauth.net/advisories/2009-1/およびhttp://oauth.net/core/1.0a/ ) 以降、リクエストを取得するには、最初の呼び出しでコールバック URL を送信する必要があります。トークン (それを承認するためのクライアント側の呼び出しではありません) であり、このライブラリはこれを行うように更新されていないようです (少なくともコードを見ると)。Yahoo では、パラメータが存在する必要があると思います。

于 2010-05-04T18:41:19.900 に答える