0
我正在使用腳本從表單中的Google搜索控制檯提取數據。 我構建了一個側欄來選擇用戶想要分析其數據的網站。在應用程序腳本的網頁中使用.gs文件
爲此,我有一個函數可以列出所有網站鏈接到谷歌帳戶,但我有一個錯誤,當我嘗試在我的HTML文件中執行此功能。 我使用withSuccessHandler(function)方法,它設置一個回調函數在服務器端函數成功返回時運行。 (我有一個OAuth2.0.gs文件哪裏是我的getService功能 的錯誤是「service.hasAccess是不是listAccountSites功能」,其中listAccountSites是我的函數這裏是我的html文件的摘錄:
<script src="OAuth2.0.gs"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$(function() {
var liste = google.script.run.withSuccessHandler(listAccountSites)
.getService();
console.log(liste);
});
function listAccountSites(service){
if (service.hasAccess()) {
var apiURL = "https://www.googleapis.com/webmasters/v3/sites";
var headers = {
"Authorization": "Bearer " + getService().getAccessToken()
};
var options = {
"headers": headers,
"method" : "GET",
"muteHttpExceptions": true
};
var response = UrlFetchApp.fetch(apiURL, options);
var json = JSON.parse(response.getContentText());
Logger.log(json)
console.log('if')
var URLs = []
for (var i in json.siteEntry) {
URLs.push([json.siteEntry[i].siteUrl, json.siteEntry[i].permissionLevel]);
}
/*
newdoc.getRange(1,1).setValue('Sites');
newdoc.getRange(1,3).setValue('URL du site à analyser');
newdoc.getRange(2,1,URLs.length,1).setValues(URLs);
*/
console.log(URLs);
} else {
console.log('else')
var authorizationUrl = service.getAuthorizationUrl();
Logger.log('Open the following URL and re-run the script: %s', authorizationUrl);
Browser.msgBox('Open the following URL and re-run the script: ' + authorizationUrl);
}
return URLs;
}
</script>
如果你使用'如果(service.hasAccess)'? – Cooper