Мне нужно создать интеграцию между API GAM и Google App Script. Для этого у меня есть только JSON с учетными данными, в этом формате:
{
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----\n",
"client_email": "...",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "..."
}
В данный момент я пытаюсь создать OAuth 2.0 с информацией из учетных данных:
const auth = OAuth2.createService("GAM")
.setAuthorizationBaseUrl(credential.auth_uri)
.setTokenUrl(credential.token_uri)
.setPrivateKey(credential.private_key)
.setIssuer(credential.client_email)
.setClientId(credential.client_id)
.setPropertyStore(PropertiesService.getScriptProperties())
.setParam('access_type', 'offline')
.setScope(['https://www.googleapis.com/auth/dfp']);
И с помощью «UrlFetchApp.fetch» сделать запрос к API:
const url = "https://dns.googleapis.com/dns/v1/projects/" + credential.project_id;
const options = {
'method' : 'get',
'contentType': 'application/json',
headers: {
Authorization: 'Bearer ' + getToken
},
'muteHttpExceptions': true,
};
const response = UrlFetchApp.fetch(url, options);
const data = response.getContentText();
Я пытаюсь сделать это таким образом, но у меня пока нет результатов, и дон не знаю, что не так. Если у кого-то есть знания, использующие Google App Script и / или Google Ads Manager, есть какие-либо идеи или советы о том, как сделать эту интеграцию.
Спасибо