我尝试将谷歌应用程序经销商 API 与谷歌应用程序脚本一起使用。要使用 oauth,我需要 AuthServiceName。什么是正确的名字?“应用程序”不起作用。
问问题
757 次
1 回答
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
- 你知道你的 SECRET 和 KEY 从控制台中提取的
- 我使用了一个安全的只读范围,如果不是,您需要在沙箱中设置测试
如果您需要更多说明,请告诉我
于 2013-09-14T04:24:45.580 回答