Проект был создан Python с использованием google_application_defaults, API биллинга был успешно активирован и проверен в командной строке с помощью
os.system(gcloud services enable cloudbilling.googleapis.com)
os.system(gcloud services list --enabled)
Затем при запуске:
from googleapiclient import discovery, errors, logging
CB = discovery.build("cloudbilling", "v1", credentials = default_creds, cache_discovery = False)
billing_body = {"projectID": projectID, "name": "projects/"+projectID+"/billingInfo", "billingEnabled": True, "billingAccountName": "billingAccounts/"+billingAccount}
billingUP = CB.projects().updateBillingInfo(name = projectID, body = billing_body )
try:
billing_resp = billingUP.execute()
print("Billing succesfully enabled")
except errors.HttpError as err:
billing_resp = None
print("request voided")
logging.error("There was an error creating the project. Check:")
logging.error(err._get_reason())
я получаюследующая ошибка:
Cloud Billing API has not been used in project XXXXXXXXXX before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudbilling.googleapis.com/overview?project=XXXXXXXXXXX then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Я также попытался активировать его непосредственно в командной строке вне скрипта python, но ошибка сохраняется.Я пробовал использовать разные форматы в части "projectID" по запросу billingUp: projectName, projects / projectName, projectID, projects / projectID и ничего не работает.Любые возможные решения?