请求的身份验证范围不足。 [403]。 Google People API

时间:2018-06-21 19:33:32

标签: c# .net google-api google-api-dotnet-client google-people

我有创建联系人并发送请求的方法。调用Execute()方法后,出现例外。如何正确发送Google联系人中的更改?

private readonly PeopleServiceService _peopleService;
private readonly string[] _scopes = { PeopleServiceService.Scope.Contacts };

UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                secrets,
                _scopes,
                userName,
                CancellationToken.None).Result;

_peopleService = new PeopleServiceService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "ApplicationName",
            });

var contactToCreate = new Person
            {
                Names = new List<Name>
                {
                    new Name
                    {
                        DisplayName = "John"
                    }
                },
                PhoneNumbers = new List<PhoneNumber>
                {
                    new PhoneNumber
                    {
                        Value = "+7 777 777 7777"
                    }
                }
            };

var request = new PeopleResource.CreateContactRequest(_peopleService, contactToCreate);
request.Execute(); // Exception here

该异常: enter image description here

1 个答案:

答案 0 :(得分:1)

  

身份验证范围不足。

您当前没有权限去做您想做的事情。

Method: people.createContact要求具有以下权限范围才能兴奋。

https://www.googleapis.com/auth/contacts

您似乎正在使用它。因此,这里发生了两件事之一。

  1. 您已更改代码中的作用域,但无法注销并重新验证脚本以获取新权限。
  2. api中存在一些错误。我已经对其进行了测试,并且该API似乎可以正常工作。

仔细检查您的代码,确保您使用的是Scope,然后再次尝试登录。