当前位置: 首页 > 知识库问答 >
问题:

在C#中使用GMail API创建标签

甄鹏云
2023-03-14

我花了几个小时寻找如何使用服务号访问Gmail API的答案,发现我不能,除非我使用的是具有域范围授权的谷歌办公套件帐户,我来这里是想问你是否有办法使用上述API和私人帐户实际创建标签。我使用的是Visual Studio 2019和C#。在“developers.google.com”中有一个名为“尝试此API”的工具,我可以使用我的OAuth 2.0很好地创建标签,这里找到的. NET Quickstart也可以列出我的标签。但是为什么它不能让我创建标签呢?我已经启用了所有可能的范围来工作。

这是我遇到的错误:

“Google.GoogleAppException:'Google.Apis.Requests.RequestError请求的身份验证范围不足。[403]错误[消息[权限不足]位置[-]原因[权限不足]域[全局]”在此处输入图像描述

共有1个答案

鄢博简
2023-03-14

方法标签。创建需要权限才能在用户帐户上创建标签。用户必须已同意该权限。

错误消息

谷歌。API。请求。RequestError请求的身份验证作用域不足。

告诉您用户尚未同意正确的范围。用户必须同意以下范围之一

如果您遵循快速入门,那么您可能只包括了GmailService。范围Gmail只读。您需要更改范围并再次请求用户授权。请注意,下面的教程不是针对服务帐户身份验证的,而是针对Oauth2身份验证的。

string ApplicationName = "Gmail API .NET Quickstart";
            const string serviceAccount = "xxxxx-smtp@xxxxx-api.iam.gserviceaccount.com";

            var certificate = new X509Certificate2(@"c:\xxxxx-api-ed4859a67674.p12", "notasecret", X509KeyStorageFlags.Exportable);

            var gsuiteUser = "xxxxx@xxxx.com";

            var serviceAccountCredentialInitializer = new ServiceAccountCredential.Initializer(serviceAccount)
            {
                User = gsuiteUser,
                Scopes = new[] { GmailService.Scope.GmailSend, GmailService.Scope.GmailLabels }

            }.FromCertificate(certificate);

            var credential = new ServiceAccountCredential(serviceAccountCredentialInitializer);
            if (!credential.RequestAccessTokenAsync(CancellationToken.None).Result)
                throw new InvalidOperationException("Access token failed.");

            var service = new GmailService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });
 类似资料:
  • 问题内容: 对于一个应用程序,我想按如下所述创建JSON格式, 我正在使用以下代码创建相同的代码, 我的格式如下, }} 有人可以帮我创建格式吗? 谢谢。 问题答案: 所需数据,您可以通过这种方式获得。只需将其dict转换为JSon或您想要的任何其他格式即可。删除该数组,您不需要它,正如您以要求的格式提到的那样。

  • 实际上,我想使用Javafx中的标签创建一个导航列表。我可以为每个标签分配fx: id并在控制器类中创建标签。 但我想做的是,我想在控制器类中创建一个标签数组,而不是控制器类中的十个标签对象,这是我在场景生成器中创建的。 谁能帮我想个办法。。。

  • 问题内容: 如何使用JavaScript创建SVG元素?我尝试了这个: 但是,它将创建宽度为零,高度为零的SVG元素。 问题答案: 尝试这个 :

  • 我将如何在C#中为以下内容创建一个方法。 如果是奇数,则应返回整数/2。如果是偶数,则应返回自身相乘的整数。如果该整数为null,则应返回12345。 任何帮助都将不胜感激谢谢

  • 我生成一个不对称密码密钥对,如下所示: 我的意图是提取公钥和私钥,然后在以后重建密钥。我首先提取了如下密钥: 如何重新创建公钥和私钥参数以便使用它们?在本例中,我确实重新创建了私钥,然后对数据字节数组进行签名。 虽然它感觉像一个真正的黑客,但它工作得很好。如何使用公钥执行此操作?我将变量xxx设置为(ECPublicKeyParameters)aKeyPair。Public和我可以使用下面的代码验

  • 问题内容: 我想构建一个 使用用户名作为参数 的 程序,并创建用户及其主文件夹 (具有一些诸如文件夹之类的硬编码规范,以及诸如用户名之类的安全检查不能是root或现有用户)。 我的应用程序需要创建用户才能授予SSH访问权限。 该程序将使用 sudo 执行。我读过它应该用C或C ++而不是脚本编写,因为脚本很容易被利用。 您能给我 一些建议或好的做法 吗? 我应该使用一些 Pam 库吗?有没有例子?