Google.Apis.Requests.RequestError Вызывающий не имеет разрешения при использовании Cloud Talent Solution API - PullRequest
0 голосов
/ 08 марта 2019

Я создал служебную учетную запись в облачной консоли Google и получил закрытый ключ. Я пытаюсь использовать Google Cloud Talent Solution API и создать компанию и вакансии. При попытке создать компанию выдает ошибку

Google.GoogleApiException: 'Google.Apis.Requests.RequestError Абонент не имеет разрешения [403] Ошибки [Сообщение [У вызывающей стороны нет разрешения] Местоположение [-] Причина [запрещен] Домен [глобальный]] '

Не уверен, что мне здесь не хватает. Я также предоставил необходимые роли и разрешения (Admin, Job Editor).

Ниже приведен мой исходный код для справки.

class Class1
{
    public static GoogleCredential credential;
    public static CloudTalentSolutionService jobServiceClient;
    public static string projectId;
    public static string parent;
    public static Company myCompany;
    public static void Main(string[] args)
    {
        credential = GoogleCredential.GetApplicationDefaultAsync().Result;
        if (credential.IsCreateScopedRequired)
        {
            credential = credential.CreateScoped(new[]
            {
                Google.Apis.CloudTalentSolution.v3.CloudTalentSolutionService.Scope.Jobs
            });
        }
        jobServiceClient = new CloudTalentSolutionService(new BaseClientService.Initializer
        {
            HttpClientInitializer = credential,
            GZipEnabled = false
        });
        projectId = Environment.GetEnvironmentVariable("GOOGLE_CLOUD_PROJECT");
        parent = $"projects/{projectId}";
        myCompany = new Company()
        {
            DisplayName = "SampleCompany",
            HeadquartersAddress = "Address",
            ExternalId = "123456"
        };
        CreateCompanyRequest createCompanyRequest = new CreateCompanyRequest();
        createCompanyRequest.Company = myCompany;
        Company companyCreated = jobServiceClient.Projects.Companies.Create(createCompanyRequest, parent).Execute();
        Console.WriteLine("Created company: " + ToJsonString(companyCreated));
    }
    private static string ToJsonString(object obj)
    {
        return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...