3

ドロップボックスから access_token をリクエストするときに奇妙な問題が発生します。同じコードが Windows でも完全に機能します。リクエスト トークンを取得し、Web ページを開いてアクセス トークンを取得します。

Windows Phone では、まったく同じシーケンスは機能しません。リクエスト トークンを取得した後、Web ページを開いてログインできますが、oauth\access_token は毎回次のように失敗します。

WebException: Message="The remote server returned an error: NotFound. StatusCode=System.Net.HttpStatusCode.Forbidden StatusDescription=Forbidden

楽しみのために、Windows Phone と Windows コードの両方を並べてデバッグし、リクエスト トークン キーとトークン シークレットを 2 つの間で交換してみました。Windows Phone で Dropbox にログインすることが問題の原因であることがわかりました。電話のブラウザからログインした場合、アクセストークンを取得できませんでしたが、デスクトップでは正常に機能しました。私は何を間違っていますか?

4

1 に答える 1

1

解決策は非常に簡単でした。Dropbox ページを開く直前に、次の 1 行を追加しました。

myBrowserControl.IsScriptEnabled = true;

最初は、アプリ ページで Web ブラウザー コントロールを使用し、ドロップボックス ログイン用の URL のみを設定しました。そのコントロールの他のすべての設定はデフォルトでした。これは、デフォルトでそのコントロールのスクリプトが無効になっていることを意味します。Dropbox ではログインに JavaScript が必要なため、スクリプトを有効にしないとログイン ページが機能しませんでした。

于 2012-09-19T18:53:56.613 に答える