Я создал служебную учетную запись в облачной консоли 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);
}
}