私が持っているプロジェクト (私が触れていないもの) が機能しなくなった理由を理解しようとして、頭を悩ませていました。
基本的に、Googleの連絡先からデータを取り戻そうとしていました。oAuth 部分で「許可」を選択すると、404 エラーが発生し続けます。これはすべて Windows Phone 7 エミュレーターで行われます。
その後、自分が Windows 8 パーティションにいることに気付いたので、Windows 7 パーティションに戻ったところ、動作しました。
IE 10の問題か何かなのか疑問に思っています。なぜこれが起こっているのか、誰にも理論がありますか?
編集
これは私が作成した簡単なサンプル コードです。誰かが試してみて、何が起こっているのか教えてください。
string clientId = "You client id here";
public MainPage()
{
InitializeComponent();
string url = String.Format("https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&redirect_uri=http://localhost&response_type=code&approval_prompt=auto&client_id={0}", clientId);
webBrowser1.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(webBrowser1_Navigated);
webBrowser1.Navigate(new Uri(url, UriKind.Absolute));
}
void webBrowser1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
var queryParmas = e.Uri.ParseQueryString();
foreach (var item in queryParmas)
{
if (item.Key == "code")
{
string test1 = "If you got here then it works";
string test2 = "in windows 8";
}
}
}
}
xaml
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<phone:WebBrowser HorizontalAlignment="Left" IsScriptEnabled="True" Name="webBrowser1" VerticalAlignment="Top" Height="669" Width="468" />
</Grid>
編集2
彼らは Windows 7 用の IE 10 をリリースしたので、それをインストールしましたが、Windows 7 でも動作するので、IE の問題ではないと思います。Windows 8で何かする必要がありますか?もしかしてアイズ?
編集3
これがWindows 7で何が起こっているかの流れです
- アプリケーションの起動と MainPg.xmal のロード
- ナビゲートはトリガーされますが、ステートメントがスキップされた場合
- ユーザーは Google ログイン ページを表示し、情報を入力してログインを押します
- ナビゲートはトリガーされますが、ステートメントがスキップされた場合
- ユーザーに「リクエスト ページ」が表示され、アプリケーションのアクセス許可を許可する必要があります
- ユーザーヒット許可
- ナビゲートがトリガーされ、「if」ステートメントに入ります
- ユーザーに IIS 7 の画面が表示されます。
これがWindows 8で何が起こっているかの流れです
- アプリケーションの起動と MainPg.xmal のロード
- ナビゲートはトリガーされますが、ステートメントがスキップされた場合
- ユーザーは Google ログイン ページを表示し、情報を入力してログインを押します
- ナビゲートはトリガーされますが、ステートメントがスキップされた場合
- ユーザーに「リクエスト ページ」が表示され、アプリケーションのアクセス許可を許可する必要があります
- ユーザーヒット許可
- 404 ページに移動します。ナビゲートはトリガーされません。
ご覧のとおり、許可ボタンが押された後はすべてうまくいきません。Windows 7 では、Navigated メソッドに戻り、IIS 7 のウェルカム ページが表示されますが、Windows 8 では、許可ボタンを押した後、ナビゲートされたページに移動せず、代わりに 404 が表示されます。