# #exception #invalid-argument #google-cloud-billing
Вопрос:
Я пытаюсь создать учетную запись для выставления счетов программно, используя следующий код:
use GoogleAuthApplicationDefaultCredentials;
use GoogleCloudBillingV1CloudBillingClient;
use GoogleCloudBillingV1BillingAccount;
putenv('GOOGLE_APPLICATION_CREDENTIALS='.dirname(__FILE__).'/manager-307215-df4011b08eab.json');
$scopes = ['https://www.googleapis.com/auth/cloud-platform','https://www.googleapis.com/auth/service.management'];
$gclient = new GoogleClient();
$gclient->useApplicationDefaultCredentials();
$gclient->addScope($scopes);
$gclient->setApiFormatV2(true);
$billingClient = new CloudBillingClient();
$billingAccount = new BillingAccount([
'display_name' => 'My Billing Account',
'master_billing_account' => ''
]);
try {
$billingClient->createBillingAccount($billingAccount);
} catch (Exception $e) {
echo 'FAILED TO CREATE BILLING ACCOUNT ('.$e->getMessage().')<br>';
}
$billingAccount = $billingClient->getBillingAccount('billingAccounts/015B13-FE2CD5-0CC6A2');
$billingAccount->setDisplayName('TestFROMPHP');
try {
$billingClient->updateBillingAccount('billingAccounts/015B13-FE2CD5-0CC6A2', $billingAccount);
} catch (Exception $e){
echo 'FAILED TO EDIT BILLING ACCOUNT ('.$e->getMessage().')<br>';
}
$accounts = $billingClient->listBillingAccounts();
foreach ($accounts as $account) {
echo 'Billing account: ' . $account->getName() . '<br>';
}
Учетная запись службы имеет роль администратора для выставления счетов и должна иметь возможность создавать/изменять учетные записи для выставления счетов, но для каждого метода предусмотрены исключения.
Я что-то пропустил ?
Комментарии:
1. 1) Включите ссылку на документацию API библиотеки, которую вы используете. 2) Покажите фактические ошибки. 3) Есть ли у вас организация? 4) Вы добавили разрешения на уровне ОРГАНИЗАЦИИ или проекта? 5) В моем коде роли предоставляются на уровне ОРГАНИЗАЦИИ.