未找到GoogleWebAuthorizationBroker

Ped*_*lso 5 c# windows-phone-7 oauth-2.0 google-api-dotnet-client

我正在学习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);
Run Code Online (Sandbox Code Playgroud)

但是,我不知道为什么,我不能使用'GoogleWebAuthorizationBroker'.我已经安装了所有引用,并且我使用了所有的导入.

当我运行我的程序时,我得到了这两条消息:

'当前上下文中不存在'CancellationToken'这个名字'

'当前上下文中不存在'GoogleWebAuthorizationBroker'这个名称'

码

错误

在此输入图像描述

更新:

为了最小化我的反馈周期,我从头开始创建一个新的Windows Phone项目,使用Windows Phone OS 7.1作为我的目标操作系统版本,然后我在包管理器控制台中执行这些命令:

pm> install-package google.apis -pre
pm> install-package google.apis.drive.v2 -pre
Run Code Online (Sandbox Code Playgroud)

然后,在我的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;
Run Code Online (Sandbox Code Playgroud)

最后,我试图通过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开发

小智 6

如果您正在构建一个"可移植类库"项目,就像我一样,您可能需要手动添加引用

Google.Apis.Auth.PlatformServices

我不知道为什么在将google apis添加到"便携式类库"时遗漏了,但这就是为我解决的问题.


Abh*_*Dey 2

使用这些:

在包管理器中。

pm> install-package google.apis -pre
pm> install-package google.apis.drive.v2 -pre
Run Code Online (Sandbox Code Playgroud)

然后包括:

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;
Run Code Online (Sandbox Code Playgroud)