我正在尝试连接我的谷歌表单回复表,以在每次在表单上提交回复时使用详细信息创建新联系人。我已从应用程序脚本的“服务”选项卡添加了 Peopleapi。我还从同一帐户的 google 控制台创建了 people api 的凭据,并且还调用了 api 访问令牌。我仍然收到错误
ReferenceError: PeopleApi is not defined
请参阅下面的完整代码:
var apiKey = ScriptApp.getOAuthToken();
PeopleApi.getService().setToken(apiKey);
function onFormSubmit() {
// Get data from spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastRow = sheet.getLastRow();
var name = sheet.getRange(lastRow, 2, 1, 1).getValue();
var phone = sheet.getRange(lastRow, 3, 1, 1).getValue();
var address = sheet.getRange(lastRow, 4, 1, 1).getValue();
// Create a People API service object
var peopleService = PeopleApi.getService();
// Build the person resource
var person = {
names: [{
givenName: name
}],
addresses: [{
formattedValue: address,
type: "home"
}],
phoneNumbers: [{
value: phone,
type: "mobile"
}],
metadata: {
primary: true
}
};
// Create the contact using the People API
peopleService.people().createContact(person).execute();
}
我已从应用程序脚本的“服务”选项卡添加了 Peopleapi。我还从同一帐户的 google 控制台创建了 people api 的凭据,并且还调用了 api 访问令牌。
“Peopleapi”服务的默认标识符是“People”。
您应该仔细检查您的 Google Apps 脚本项目中为此服务设置的标识符是什么。为此,请查看“服务”部分下方的相应项目
在上图中,Peopleapi* 的项目是People。单击此项将显示一个对话框,用于更改服务设置,包括标识符。
我认为大多数 Google Apps 脚本用户都会保留默认标识符名称,因此我建议您也保留它。
另一方面,getService() 不是 Peopleapi 的方法。
我想知道您是从头开始编写代码还是使用工具生成代码。使用代码生成工具时,强烈建议花一些时间学习 IDE、编程语言和服务的基础知识,以便能够确定代码生成工具是否提供了有用的东西。请记住,像 ChatGPT 这样的工具可能会有 AI 幻觉。