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

谷歌activity api服务帐户403

傅志用
2023-03-14

我正在使用一个服务帐户访问我们的域名用户的谷歌驱动器,这工作像一个魅力!然而,我现在正在尝试使用相同的服务帐户获得用户的activity在谷歌驱动器。

我已授予服务帐户API访问https://www.googleapis.com/auth/activity和https://www.googleapis.com/auth/drive的权限

并启用API!

然而我总是得到错误403,禁止!

static AppsactivityService BuildService(String userEmail)
    {
        X509Certificate2 certificate = new X509Certificate2(SERVICE_ACCOUNT_PKCS12_FILE_PATH,
            "notasecret", X509KeyStorageFlags.Exportable);
        ServiceAccountCredential credential = new ServiceAccountCredential(
            new ServiceAccountCredential.Initializer(SERVICE_ACCOUNT_EMAIL)
            {
                Scopes = new[] { AppsactivityService.Scope.Drive },
                User = userEmail
            }.FromCertificate(certificate));

        // Create the service.
        var service = new AppsactivityService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = "mytest app",
        });

        return service;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        var service = BuildService("someuser@domain.com");

        ActivitiesResource.ListRequest listRequest = service.Activities.List();
        listRequest.Source = "drive.google.com";
        listRequest.DriveAncestorId = "root";

        listRequest.PageSize = 10;

        IList<Activity> activities = listRequest.Execute().Activities;

        Console.WriteLine("Activities:");
    }

可能需要一些时间才能启用https://www.googleapis.com/auth/activity

共有1个答案

秦宜修
2023-03-14

找到答案了。。。只是服务中的一个愚蠢的错别字

null

AppsactivityService.Scope.Drive 
to 
AppsactivityService.Scope.Activity 

THX!

 类似资料:
  • 我正在使用Google. net客户端库来访问谷歌日历应用编程接口。我需要研发创建日历事件并将其发布给用户的应用程序。 这是一个服务器到服务器的应用程序,所以我创建了一个服务帐户,并用它来发送邀请。当从web浏览器提交响应时,创建的与会者对这些事件的响应将被更新,但当来自outlook等任何邮件客户端的响应时,响应将以电子邮件的形式发送给服务帐户电子邮件id(这是一个虚拟电子邮件id)。如何将有效

  • 我收到了这个错误 已经跟踪了https://developers.google.com/admin-sdk/directory/v1/guides/delegation 我使用这个库,并在laravel 5.7:https://github.com/spatie/laravel-google-calendar上运行它 有什么办法可以解决这个问题。请帮忙。

  • 我们正在中开发一个内部应用程序。其中一个要求是应用程序的所有用户必须能够看到预定义的Gmail帐户(例如。)中的邮件数量,这是谷歌办公套件的一部分。这意味着登录应用程序的每个用户都能够看到这些信息,而无需任何额外的谷歌登录或类似的东西。应用程序应该能够在没有用户交互的情况下访问电子邮件,只需使用代码。 阅读文档后,我注意到有两种类型的账户——普通账户和服务账户。我有以下问题: 哪种账户类型适合我们

  • 我为我的帐户name@steelkiwi.com(谷歌应用程序)创建了服务帐户,我的应用程序运行良好。然后我为我的个人帐户name@gmail.com创建了服务帐户,为我的应用程序使用这个新的凭据,现在当我试图插入文件时,我得到错误500和下一个文本: HttpError 500请求https://www.googleapis.com/upload/drive/v2/files时?quotause

  • 我正在调查AWS/Google云基础架构系统是否可以混合,我的要求之一是从一个系统到另一个系统的安全和简单的身份验证。目前,我需要从一个Google Cloud VM实例连接到一个受限的AWS S3 bucket。 我的问题通常是:有没有办法做到这一点,什么是最好的方法。我相信每个人都希望有机会使用多个云提供商为他们的基础设施提供高安全性、易用性和维护性。 经过一些研究,我发现唯一可能的方法是通过

  • 我想使用Google服务帐户JWT令牌获取Azure服务主体(SP)的临时凭据。这是从GKE工作负载调用Azure API所必需的,而无需在GKE中存储长期SP凭据。 这样的联盟对GCP来说可能吗- [1]https://cloud.google.com/iam/docs/workload-identity-federation [2] https://docs.aws.amazon.com/IA