Requested client not authorized

前端 未结 3 1891
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-22 04:16

I am trying to get google users from my domain using google service account.

But it throws error

Error:\"access_denied\", Description:\         


        
3条回答
  •  没有蜡笔的小新
    2020-12-22 04:38

    I was finally able to get this working. Here is the code I have

            var grpReq = service.Groups.List();
            grpReq.Domain = "mydomain.com";
            Groups groups = grpReq.Execute();
    
            IList gps = groups.GroupsValue;
    
            var memReq=service.Members.List(groups.GroupsValue[0].Id);
            Members members = memReq.Execute();
    

    I am still not sure why creating a var object and then Execute() got this to work but the earlier code didn't work.

    I still have the problem of the consent screen showing up for all users. I have the following code. I think the way I get the logged in user's email is incorrect. Any ideas?

            string mymail = googleauth.GetUsersEmail(ExchangeCodeWithAccessAndRefreshToken().Access_Token);
    
            string path = "d:\\c6b82065f26fbb0-privatekey.p12";
            X509Certificate2 certificate = new X509Certificate2(
                path,
                "notasecret", X509KeyStorageFlags.Exportable);
    
            ServiceAccountCredential credential = new ServiceAccountCredential(
              new ServiceAccountCredential.Initializer("876131792-v824u6drpss@developer.gserviceaccount.com")
              {
                  User = mymail,
                  Scopes = new[] { PlusService.Scope.UserinfoEmail, PlusService.Scope.UserinfoProfile, PlusService.Scope.PlusMe }
              }.FromCertificate(certificate));
    
    
            PlusService plus = new PlusService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "myapp"
            });
    
            Person profile = plus.People.Get("me").Execute();
            string email = profile.Emails[0].Value;
    

提交回复
热议问题