gpt4 book ai didi

c# - 当使用 Windows 8 而不是 Windows 7 时,Google Api Redirect 在 WP7 上给我 404 错误

转载 作者:太空狗 更新时间:2023-10-29 19:48:00 25 4
gpt4 key购买 nike

我一直在摸不着头脑,想弄清楚为什么我的一个项目(我没有接触过的)不再工作了。

基本上我试图从谷歌联系人中获取一些数据。当我在 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 的东西吗?也许是 iis?

编辑3

这是 Windows 7 中发生的事情的流程

  1. 应用程序启动并加载 MainPg.xmal
  2. 导航被触发但是如果语句被跳过
  3. 用户看到 Google 登录页面并输入信息并点击登录
  4. 导航被触发但是如果语句被跳过
  5. 用户看到“请求页面”并且必须允许应用程序权限
  6. 用户点击允许
  7. 导航被触发并进入“if”语句
  8. 用户看到 IIS 7 屏幕。

这是 Windows 8 中发生的事情的流程

  1. 应用程序启动并加载 MainPg.xmal
  2. 导航被触发但是如果语句被跳过
  3. 用户看到 Google 登录页面并输入信息并点击登录
  4. 导航被触发但是如果语句被跳过
  5. 用户看到“请求页面”并且必须允许应用程序权限
  6. 用户点击允许
  7. 转到 404 页面 Navigated 未触发。

如您所见,按下允许按钮后一切都出错了。在 Windows 7 中,它返回导航方法,然后显示 IIS 7 欢迎页面,但在 Windows 8 中,在点击允许按钮后,它不会转到导航页面,而是显示 404。

最佳答案

您应该使用“Navigating”事件处理程序,而不是“Navigated”事件处理程序。这将允许您在获取代码值时取消导航。导航处理程序在导航之后调用,由于回调 url 并不真正存在,它会抛出 404 错误。它似乎在您的 Windows 8 上运行正常,不确定为什么您在 Windows 7 上没有收到 404,因为您也应该在那里看到它。

关于c# - 当使用 Windows 8 而不是 Windows 7 时,Google Api Redirect 在 WP7 上给我 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15148465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com