0

我尝试将谷歌应用程序经销商 API 与谷歌应用程序脚本一起使用。要使用 oauth,我需要 AuthServiceName。什么是正确的名字?“应用程序”不起作用。

4

1 回答 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);

}

这将有效,如果

  1. 你有一个经销商账户(我猜我没有在我的非经销商账户上测试)
  2. 您已经在 API 控制台中创建了一个项目,并启用了 Reseller API
  3. 你知道你的 SECRET 和 KEY 从控制台中提取的
  4. 我使用了一个安全的只读范围,如果不是,您需要在沙箱中设置测试

如果您需要更多说明,请告诉我

于 2013-09-14T04:24:45.580 回答