如何使用POST和GET请求使用Google Apps脚本解析平台REST API
说到使用API,我是个新手,最近我花了很多时间尝试使用解析平台API将其与我的Google电子表格同步。我正在努力格式化我的如何使用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)方法(数据库表)和要考虑的脚本。 一
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”将获得查询结果
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值
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;
}