如何使用POST和GET请求使用Google Apps脚本解析平台REST API

如何使用POST和GET请求使用Google Apps脚本解析平台REST API,rest,post,google-apps-script,parse-platform,get,Rest,Post,Google Apps Script,Parse Platform,Get,说到使用API,我是个新手,最近我花了很多时间尝试使用解析平台API将其与我的Google电子表格同步。我正在努力格式化我的GET或POST请求。如何发出POST和GET请求以使用Google Apps脚本解析平台REST API 现在我成功了,我只想分享我的剧本,这样它就可以帮助其他人。 见下面我自己的答案基本上,我做了两个程序: 一个名为“InsertIntoPArse”的程序允许我向解析平台发送请求。它有3个输入:要读取/修改的类(POST或GET)方法(数据库表)和要考虑的脚本。 一

说到使用API,我是个新手,最近我花了很多时间尝试使用解析平台API将其与我的Google电子表格同步。我正在努力格式化我的
GET
POST
请求。如何发出POST和GET请求以使用Google Apps脚本解析平台REST API


现在我成功了,我只想分享我的剧本,这样它就可以帮助其他人。
见下面我自己的答案

基本上,我做了两个程序:

  • 一个名为“InsertIntoPArse”的程序允许我向解析平台发送请求。它有3个输入:要读取/修改的类(POST或GET)方法(数据库表)和要考虑的脚本。
  • 一个用于构建脚本的程序调用“InsertIntoParse”并返回结果
以下是一些解释:

  • 在上面的代码中,您需要使用自己的值自定义两个变量API_KEY和applicationId。您还必须使用解析平台的URL自定义变量“root”(我的由Amazon Web服务托管)
  • 查询将使用函数UrlFetchApp.fetch发送到解析平台服务器。此函数有两个输入:联系人的url和包含参数的附加变量。根据您将使用的方法(获取或发布),URL和参数将不同:
  • 对于POST方法,url类似于“http://MyParsePlatform.com:80/parse/classes/MyCustomClassName/参数将包含一个名为“payload”的行,您将在其中指定要创建的对象的条件
  • 对于GET方法,参数将有一个exmpty有效负载,url类似于“http://MyParsePlatform.com:80/classes/List?where={“MyColumnName”:“Value”}但由于URL不能有像{}和“这样的特殊字符,我们需要用html代码(%22表示“,%7B表示{等)来替换它们。最后一件事:在“where”需要保持为an=且不应替换为%3D

请注意,如果您发送了一个带有有效载荷的GET请求,PARSE会将其视为一个POST,并在您的类中创建一个新的元素。 下面是为GET请求调用“InsertIntoParse”的第二个程序:

function GetExample() {

var obj='{"fam_commune":"ANTIBES"}'
var scriptGetFamille = 'where='+encodeURIComponent(obj);
var retourGetFamille=InsertIntoParse('GET','MyClassName',scriptGetFamille);
var JSONresponse = JSON.parse(retourGetFamille.getContentText());
}
一些解释:

  • 变量“obj”包含my GET的搜索条件
  • 在“scriptGetFamille”变量定义中,我使用函数“encodeURIComponent”将所有特殊字符替换为HTML代码。请注意,“where=”不在该函数中,以避免在使用函数“encodeURIComponent”时将=替换为其HTML等效代码
  • 变量“retourGetFamille”将获得查询结果
现在我们来看一个POST示例:

function AddAdherent(NumLigne) {

scriptFamille="{\"MyColumnName1\": \"MyValueForColumn1\",\"MyColumnName2\": \"MyValueForColumn2\"}"
var retourFamille=InsertIntoParse('POST','MyCustomClassName',scriptFamille);
var JSONresponse = JSON.parse(retourFamille.getContentText());
var fam_cd=JSONresponse.objectId;

}
以下是一些解释:

  • “scriptFamille”变量允许我定义我将创建的对象的特征(类的不同列的值)。请注意使用\(转义字符)来确保以下“字符”不会关闭字符串
  • 变量retourFamille将获得请求的结果。它将是一个JSON对象,包含ObjectId和新对象的创建日期
  • 要返回字符串变量ObjectId,我们需要首先解析API的响应(请参阅“JSONresponse”变量的内容),然后使用JSONresponse.ObjectId获取对象Id值
PS:请注意,我上面的例子远不是完美的,特别是因为我没有使用https连接(我还没有在我的解析平台服务器上设置https,这是数据交换安全所必需的)

我希望所有这些都能帮助人们,让你的生活更轻松。祝你好运

function AddAdherent(NumLigne) {

scriptFamille="{\"MyColumnName1\": \"MyValueForColumn1\",\"MyColumnName2\": \"MyValueForColumn2\"}"
var retourFamille=InsertIntoParse('POST','MyCustomClassName',scriptFamille);
var JSONresponse = JSON.parse(retourFamille.getContentText());
var fam_cd=JSONresponse.objectId;

}