Google App Maker - 基于来自其他数据源的电子邮件的目录信息

Google App Maker - Directory info based on email from other datasource

正在开发一个应用程序,我从 Google 表格中获取用户的电子邮件地址。

我想使用该电子邮件地址显示目录中的全名和缩略图照片。

Screenshot of the UI - 隐藏电子邮件和姓名以保护用户数据

到目前为止,当我尝试 link 这两个时,我从目录中为所有用户获取了第一张照片。

知道如何 link 编辑两者吗,因为目录不支持添加新关系?

如果您只显示一条记录,您可以从电子表格中获取电子邮件,然后执行类似的操作。

数据源设置为目录和标签小部件的页面或面板,文本字段绑定到您要显示的字段。

从电子表格中收到电子邮件后,假设您要将其返回给客户端,请使用:

app.datasources.Directory.query.filters.PrimaryEmail._equals = emailFromSpreadsheet;
app.datasources.Directory.load();
  1. 创建新的计算模型
  2. 在“数据源”选项卡中, 服务器脚本添加下面的代码。
  3. 请务必更正模型和字段名称以匹配您的名称!

//Get the Spreadsheet Data
var spreadsheetData = app.models.MySpreadsheetSource.newQuery().run();
var combinedData = []; // Place to store output for calculated model
spreadsheetData.forEach(function(record){ //iterate the ss data
  var query = app.models.Directory.newQuery(); //start a query for directory
  query.filters.PrimaryEmail._equals = record.email; //set the query for the email
  var dirRecord = query.run()[0]; //get the one record

  //make a new record for the calculated model
  var newRecord = app.models.Directory_Spreadsheet.newRecord(); 
  //add the data from both SS and Directory models
  newRecord.Email = record.email; //from ss
  newRecord.address = record.address;
  newRecord.Full_Name = dirRecord.FullName; //from Directory
  newRecord.Thumbnail = dirRecord.ThumbnailPhotoUrl;
  //Add More Fields

  combinedData.push(newRecord); //add to output
});
return combinedData; //return the combine object

您可以在 Accordion 中使用此数据源来显示组合数据。