即时学习C#(为Windows手机开发),我试图将我的用户验证到Google的帐户中。我使用这段代码: https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#wp
var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read),
new[] { DriveService.Scope.Drive },
"user",
CancellationToken.None);
但是,我不知道为什么,我不能使用'GoogleWebAuthorizationBroker'。我已经安装了所有引用,并且我使用了所有的导入。
当我运行我的程序时,我收到了这两条消息:
'当前上下文'
中不存在名称'CancellationToken''当前上下文'
中不存在名称'GoogleWebAuthorizationBroker'
更新
为了最大限度地减少我的反馈周期,我从头开始创建了一个新的Windows Phone项目,使用Windows Phone OS 7.1作为我的目标操作系统版本,然后我在包管理器控制台中执行了这些命令:
pm> install-package google.apis -pre
pm> install-package google.apis.drive.v2 -pre
然后,在我的MainPage.xaml.cs中,我写了这些导入:
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using System.IO;
using Google.Apis.Drive.v2;
using Google.Apis.Util.Store;
using System.Threading;
最后,我试图通过IntelliSense简单地调用'GoogleWebAuthorizationBroker',但我找不到它。所以,作为我的上一次测试,我编写了“GoogleWebAuthorizationBroker”来查看Visual Studio是否指出了我的错误并提出了任何解决方案,但VS只给了我创建新类或新类型的选项。
最后但并非最不重要的是,我使用Visual Studio Express 2012 for Windows Phone,不知道它是否会影响...
UPDATE2:
当我在对象浏览器中扩展Google.Apis.Auth时,我找不到丢失的类(GoogleWebAuthorizationBroker),看起来我的安装进展不顺利......
更新3:
根据NuGet(https://www.nuget.org/packages/Google.Apis),Google.Apis与Windows Phone 7.5和8.0兼容。正如我在那里所说,我使用Windows Phone OS 7.1作为我的目标操作系统版本,我更新了我的7.1 SDK,但找不到7.5 sdk,所以,我应该使用7.8吗?请记住,我需要开发Windows Phone 7.X
答案 0 :(得分:6)
如果您正在构建一个“便携式类库”项目,就像我一样,您可能需要手动添加对
的引用<强> Google.Apis.Auth.PlatformServices 强>
我不知道为什么在将google apis添加到“便携式类库”时遗漏了,但这就是为我解决的问题。
答案 1 :(得分:2)
使用这些:
包管理器中的。
pm> install-package google.apis -pre
pm> install-package google.apis.drive.v2 -pre
然后包括:
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using System.IO;
using Google.Apis.Drive.v2;
using Google.Apis.Util.Store;
using System.Threading;
答案 2 :(得分:2)
我找不到GoogleWebAuthorizationBroker错误,我修复了删除引用: 来自我的项目的Google.Apis.Auth.PlatformServices 转到我拥有所有google api程序集并添加的文件夹 .... \包\ Google.Apis.Auth.1.8.1 \ lib中\ net40 \ Google.Apis.Auth.PlatformServices.dll
到项目。我相信我装错了。