我正在尝试将一行数据添加到融合表中。似乎在使用 OAuth 时遇到了问题。我通过请求令牌并接收并存储它。这是用于执行此操作的代码:
var AUTHORIZE_URL = 'https://accounts.google.com/o/oauth2/auth';
function getURLForAuth(){
return AUTHORIZE_URL + '?response_type=code&client_id='+CLIENT_ID+'&redirect_uri='+REDIRECT_URL +'&scope=https://www.googleapis.com/auth/fusiontables&state=/profile';
}
在允许访问 google 站点页面后,此代码为我提供了一个页面,我可以从中获取令牌并存储它。然后,我尝试使用此标记将一些值插入到具有此代码的表中:
function _submitLog(e){
var rowToAdd = [e.parameter.empName,e.parameter.jobName,e.parameter.taskName,e.parameter.hoursBox, e.parameter.date];
runSQL("INSERT INTO "+TABLE_NAME +" (logNum,EmployeeName,JobName,TaskName,Hours,Date) VALUES (" +"'" +e.parameter.empName +"'" +"," +"'"+e.parameter.jobName +"'"+"," +"'"+e.parameter.taskName+"'" +"," +"'"+e.parameter.hoursBox+"'" +"," +"'"+e.parameter.date+"'" +")")
}
function runSQL(sql){
var getDataURL = 'https://www.googleapis.com/fusiontables/v1/query?sql='+sql;
var dataResponse = UrlFetchApp.fetch(getDataURL,getUrlFetchOptions()).getContentText();
Logger.log(dataResponse);
return dataResponse;
}
function getUrlFetchOptions() {
var token = UserProperties.getProperty(tokenPropertyName);
Logger.log(token);
return {
"method" : "post",
"ContentType" : "application/json",
"headers":{"Authorization" :"Bearer "+token,
"Accept" :"application/json"}
};
}
我确定我遗漏了一些非常明显的东西,但我已经盯着看了好几个小时,还是想不出来。任何帮助,即使是关于我可能已经抹杀的最佳实践,都会很棒。