我正在使用Visual Studio 2015和Update 3.我有一个带有WebBrowser控件的Windows窗体项目。
该节目能够像周一(以及之前几年)预期的那样与谷歌(AdWords,谷歌分析,谷歌驱动器)进行oAuth合作。今天我们得到“您的浏览器不再受支持”重定向,无法进行身份验证。
Internet Explorer的本地版本是11.494.10586.0
当我手动将oAuth url复制到Internet Explorer(而不是Edge)时,oAuth进程正常工作(但是c#程序显然无法解析结果)。 oAuth网址也适用于Edge,Chrome和Firefox。
在代码中,WebBrowserControl1.Version的结果如下:
img{
width :100%;
}
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-7">
<img src="http://placehold.it/550x350" class="img-responsive">
</div>
<div class="col-xs-12 col-sm-12 col-md-5">
<h2>How do you auto-resize a large image so that it will fit into a smaller width div container whilst maintaining it's width:height ratio?</h2>
<p>How do you auto-resize a large image so that it will fit into a smaller width div container whilst maintaining it's width:height ratio?</p>
</div>
请注意在Visual Studio和Internet Explorer中如何反转494和0 。我不确定这是否与问题有关,但我注意到这是一个差异
我创建了一个新的空白Forms项目,添加了一个WebBrowser(System.Windows.Forms.WebBrowser)。在加载时,只有一行代码webBrowser1.Navigate(oAuthURL);这再现了错误。
以下是我们正在使用的oAuth网址,供参考 (修改后的客户端ID和重定向URI)
{11.0.10586.494}
Build: 10586
Major: 11
MajorRevision: 0
Minor: 0
MinorRevision: 494
Revision: 494
_Build: 10586
_Major: 11
_Minor: 0
_Revision: 494
这与Windows的最新版本一致,但这可能是巧合。似乎有很多关于类似问题的在线聊天,这可能是相关的。
还有其他人遇到过这种情况吗?
答案 0 :(得分:1)
我们的应用程序存在同样的问题。我们正在使用谷歌的OAuth2来访问Google Calendar API。像.NET的WebBrowserControl这样的浏览器在所有已安装的Internet Explorer版本上使用IE7仿真,我认为Google不再支持此版本了。
我在Stackoverflow Question 18333982找到了一个很好的解决方法。使用那里的代码,我能够接受OAuth2。
HTH
答案 1 :(得分:0)
您真正的问题不是您的浏览器已过时,而是在IE7仿真模式下调用它。一旦将仿真模式更改为高于7的值,例如8(如果您知道用户有浏览器,则甚至是11)OAuth2将再次开始工作。以下是描述如何设置仿真模式的文档:
基本上,您需要做的是为密钥添加DWORD
值,例如:
HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
MyExeName.exe : DWORD = 8000 (Decimal)
答案 2 :(得分:0)
根据Tuncay的解决方案,它对我有用,但唯一的变化是该值不是0x00008000(hexa),而是8000(十进制)表示IE 8.0。
因此,请按照其MSDN链接的指示来了解为每个IE版本输入的值。
我输入了oauthbrowser64.exe = 9999,这是今天需要的Total Commander&#34; Cloud&#34;插件,它的工作原理。