C# Google Drive API在尝试进行身份验证时返回401

C# Google Drive API在尝试进行身份验证时返回401,c#,google-drive-api,C#,Google Drive Api,这是一个全新的项目,也是我第一次尝试使用GoogleDrive的API。当我跑步时,我会立即得到401: static void Main(string[] args) { UserCredential credential; using (var filestream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read)) {

这是一个全新的项目,也是我第一次尝试使用GoogleDrive的API。当我跑步时,我会立即得到401:

static void Main(string[] args)
    {
        UserCredential credential;
        using (var filestream = new FileStream("client_secrets.json",
            FileMode.Open, FileAccess.Read))
        {
            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(filestream).Secrets,
                new[] { DriveService.Scope.Drive },
                "user",
                CancellationToken.None,
                new FileDataStore("DriveCommandLineSample")).Result;
        }
此代码是从中逐字复制的。我将JSON文件作为client_secrets.JSON下载,并验证GoogleClientSecrets.Loadfilestream.secrets与我在凭证页面上看到的值相同


我已经用Firefox和IE进行了测试。我做错了什么?

@saltface我无法评论,所以我在这里发布

您希望使用哪种API?驱动API还是驱动SDK

401错误意味着您尚未识别,您的凭据错误,或者您没有从启用API

你启用api了吗?如果是这样的话。。。您是否生成了web密钥

你可以从照片上看到这一点

在这里,您必须转到左侧菜单api/Auth=>api


在那里,您需要搜索“驱动器”并启用API。完成此操作后,您将需要创建一个凭据。

我可以通过在“同意”屏幕页面的“电子邮件地址”下拉列表中选择我的电子邮件地址使其正常工作。它以前是未设置的

我创建了另一个Google项目,并将电子邮件地址留空。在我设置电子邮件地址之前,它表现出相同的行为。

我知道这个问题已经得到了回答,但只是作为对其他人的提醒:


最近,我在尝试设置GoogleDrive推送通知Webhook时收到401未经授权的错误响应。事实证明,这是因为我的访问令牌已过期!您可以通过运行代码示例重新生成有效的令牌。

我正在使用驱动API。我已经做了所有这些事情来生成JSON文件。好的,您正在运行的代码是一个web应用程序,不是吗?因为你需要为浏览器创建一个密钥,另一个是为android应用程序创建的。你用对了吗?是的。我选择了已安装的应用程序和其他。我的凭据位于本机应用程序的客户端ID标题下。