google-apps-script - 在 Google Developers Console 中,有一种方法可以以启用高级google服务?

  显示原文与译文双语对照的内容

再次 !
我在电子表格中创建了一个嵌入 UrlShortener.Url.insert 功能的电子表格脚本。 我的客户机希望能够将这个电子表格的新实例与同事共享。 虽然已经实现了这个特性,但是当我开始测试新实例时,我必须在 Google Developers Console 中启用URL缩短 API 。
我不知道我是否可以使用脚本或者只是我能够为客户提供如何做这个手册工作。

更新:Sandy好recomends使用 UrlFetch.fetch() 获得短链接,但这段代码:


function test_short_link() {
 var options =
 {
 'longUrl': 'http://www.google.com/',
 'muteHttpExceptions': true
 };

 var result = UrlFetchApp.fetch("https://www.googleapis.com/urlshortener/v1/url",
 options);
 Logger.log(result);
}

返回:


{
"error": {
"errors": [
 {
"domain":"global",
"reason":"required",
"message":"Required parameter: shortUrl",
"locationType":"parameter",
"location":"shortUrl"
 }
 ],
"code": 400,
"message":"Required parameter: shortUrl"
 }
}

看起来这个主题是。

这个代码


function test_short_link() {
 var options =
 {
 'longUrl': 'http://www.google.com/',
 'muteHttpExceptions': true,
 'method':'post'

 };
 var result = UrlFetchApp.fetch("https://www.googleapis.com/urlshortener/v1/url",
 options);
 Logger.log(result);
}

带我们来:


{
"error": {
"errors": [
 {
"domain":"usageLimits",
"reason":"userRateLimitExceededUnreg",
"message":"User Rate Limit Exceeded. Please sign up",
"extendedHelp":"https://code.google.com/apis/console"
 }
 ],
"code": 403,
"message":"User Rate Limit Exceeded. Please sign up"
 }
}

时间: 原作者:

编辑:没有办法通过网站本身之外的任何方法来访问谷歌开发控制台。

下面是使用UrlFetchApp实现这个目的的方法。 你需要传递负载参数中的选项,而不是在UrlFetchApp选项对象中。 你还需要在头中传递当前用户的OAuth令牌。 当然,你需要修改这里代码,因为它硬编码longUrl并且没有错误检查。


function ShortenUrl(){
var url ="https://www.googleapis.com/urlshortener/v1/url"

var payload = {"longUrl":"www.google.com"};

var parameters = { method : 'post',
 headers : {'Authorization': 'Bearer '+ScriptApp.getOAuthToken()},
 payload:JSON.stringify(payload),
 contentType:'application/json', 
 muteHttpExceptions:true};

 var response = UrlFetchApp.fetch(url, parameters);
 Logger.log(response);

}

这可以完美地完成。 请尝试以下代码:


function ShortenUrl(){
var url = 'https://www.googleapis.com/urlshortener/v1/url';
var apiKey = 'AIzBlNS-3HZdxKgwj-x30';
url += '?key=' + apiKey;
var payload = {"longUrl":"www.google.com"};

var parameters = { method : 'post',
 payload:JSON.stringify(payload),
 contentType:'application/json', 
 muteHttpExceptions:true};

var response = UrlFetchApp.fetch(url, parameters);
Logger.log(response);
}

如果它不能工作,请给我一个 thumbdown,否则,一个 thumbUP !

...