whar - это имя службы oauth для API реселлера Google Apps
Я пытался использовать API реселлера Google Apps со скриптом Google Apps. Чтобы использовать oauth, мне нужно AuthServiceName. какое правильное имя? "приложения" не работает.
1 ответ
Решение
AuthServiceName определено в вашем приложении, оно не зависит от API, к которому вы подключаетесь, я подозреваю, что вы, возможно, не выполнили все необходимые шаги или что ваш вызов oauth не структурирован должным образом.
Вот пример вызова, который получает информацию о доменах.
function getCustomer() {
//set up oauth for Google Reseller API
var oAuthConfig1 = UrlFetchApp.addOAuthService("doesNotMatter");
oAuthConfig1.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope=https://www.googleapis.com/auth/apps.order.readonly");
oAuthConfig1.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oAuthConfig1.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken?oauth_callback=https://script.google.com/a/macros");
oAuthConfig1.setConsumerKey(CONSUMER_KEY);
oAuthConfig1.setConsumerSecret(CONSUMER_SECRET);
var options1 = {oAuthServiceName:"doesNotMatter", oAuthUseToken:"always",
method:"GET", headers:{"GData-Version":"3.0"}, contentType:"application/x-www-form-urlencoded"};
//set up user profiles url
var theUrl = "https://www.googleapis.com/apps/reseller/v1/customers/somedomain.com";
//urlFetch for customer list
var customerInfo = "";
try {
var response = UrlFetchApp.fetch(theUrl,options1);
customerInfo = response.getContentText();
} catch(problem) {
Logger.log(problem.message);
}
Logger.log(customerInfo);
}
Это будет работать, если
- У вас есть учетная запись посредника (я полагаю, т.е. я не проверял свою учетную запись не посредника)
- Вы создали проект в консоли API и включили Reseller API.
- Вы знаете, что ваш секрет и ключ подняты из консоли
- Я использую область read.only, которая безопасна, если вам не нужно настраивать свои тесты в песочнице
Дайте мне знать, если вам нужны дополнительные разъяснения