2013-04-29 21 views
5

geocaching.comのGroundspeakで公開されているAPIにアクセスするためのデスクトップアプリケーションを開発しようとしています。 APIにはOAuthの使用が必要です。OAuthリクエストトークンを取得しようとすると「メッセージを読み取る際にエラーが発生しました」

最終的に私のメッセージシグネチャが拒否されている理由を知りました(私はコールバックURLを二重エンコードする必要がありました。ダブルエンコーディングが問題の原因となった場所を読んだ後に)Groundspeakから次のエラーが発生しました。リクエストトークン:

oauth_error_message=Error%20while%20reading%20message%20%27DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest%27%20parameter%20%27oauth_callback%27%20with%20value%20%27http%253A%252F%252Fwww.mysite.com%252F%27. 

非常に説明的なエラーメッセージではありません。ここで何が問題なの? Groundspeakはサーバー上でDotNetOpenAuthを使用します。私のコールバックURLが問題を引き起こしているようですが、何も分かりません。

コールバックURLが実際には有効ではないため、デスクトップアプリケーションを開発しているとも言えます。私が所有しているウェブサイトを指していますが、そのウェブサイトはOAuthについて全く考えていません。コールバックURLを省略すると、「Callback URL not present or not valid」というエラーが表示されます。

答えて

1

Groundspeakについてはわかりませんが、OAuthを使用する前にアプリのコールバックURLを登録する必要があると思います。少なくともGoogleとMicrosoftはOAuth APIでこれを行います。 Groundspeakで何らかの種類の開発者設定を探します。

+0

私はフォーラムでこれについて尋ねましたが、答えは見当たりませんでした。私はそこに開発者のオプションのようなものを見つけることもできません。他の投稿では、コールバックURLの登録について何も見たことがありません。残念ながら、これを確認することができなければ、私はそれを受け入れることができません...私は/ときに私はすることができます:) – Steve

0

これは今後さらに定義する必要があります。ウェブアプリケーションではないOAuthです。しかし、デスクトップアプリケーション内でOAuthを動作させるためのいくつかの可能な解決策(最もクリーンではない)があるようです。あなたはいくつかの実用的な解決策を持っている下の記事を見ることができます(私はこれを自分でテストしていません)。これは、インストールされたデスクトップアプリケーションからのOAuthを処理するためのGoogleの可能な解決策のオフに基づいています:可能な回避策ソリューションへ

https://developers.google.com/accounts/docs/OAuthForInstalledApps

リンク:

http://blog.appharbor.com/2012/06/21/oauth-for-net-desktop-applications

はここでもデスクトップアプリケーションのOAuthのた​​めのSOの関連記事です:OAuth for Desktop apps?

これが役に立ちます。

関連する問題