无服务器函数 - 输入类型
可以通过以下类型获得该函数的输入:
参数
参数是在查询字符串 URL 中传递,数据是在输入的 post "form-data" 部分中传递。crmAPIRequest 映射中的 "params" 包含以下参数:它们具有请求中传递的全部信息。
在请求 URL 中使用 POSTMAN 发送参数:
在 form-data 中使用 POSTMAN 将参数作为 JSON 对象发送:
在 form-data 中使用 POSTMAN 将参数作为密钥发送:
用于映射函数中定义的参数的任何参数,它自动进行同步。
要获取请求中使用的附加参数:
crmAPIRequestMap = crmAPIRequest.toMap();
// to get the parameters of the request
parameters = crmAPIRequestMap.get("params");
/**
Your Business Logic here
**/
return crmAPIRequestMap;
备注:
- 请避免在函数中使用名称 "arguments" 作为参数。这是因为名称不符可能导致一些参数无法正常运行。
- 当通过“参数”(例如,通过 URL 的查询字符串或 form-data 传递)时,映射函数的参数自动完成。
数据流
请求的“正文”可用来获取作为数据流传递至请求的内容。当请求方法为 POST 时,通常只使用正文。
使用 POSTMAN 作为数据流(原始数据)发送正文:
使用 POSTMAN 作为二进制文件发送正文:
要获取函数中该请求的整个正文部分:
crmAPIRequestMap = crmAPIRequest.toMap();
// to get the Body content of the request
request_body = crmAPIRequestMap.get("body");
/**
Your Business Logic here
**/
return crmAPIRequestMap;
在 POSTMAN 中,正文内容可作为原始数据或二进制文件进行传递。
注:
- 如果函数的参数是通过数据流传递,则它们将不会映射至函数的参数。
- 如果您需要编码/解码函数中的输入数据,您可以使用 Deluge 中提供的加密任务。
文件内容
如果请求的内容类型为 Multipart,则将其视为一个文件。您可以在请求对象中获取函数中的文件。
当前受支持的文件类型是文本文件。为了将文件作为 multipart 数据发送至函数,请用参数名 "inputFile" 发送它。
要获取在函数中使用的上传文件:
crmAPIRequestMap = crmAPIRequest.toMap();
// to get the File content of the request
parameters = crmAPIRequestMap.get("file_content");
/**
Your Business Logic here
**/
return crmAPIRequestMap;
备注:
- 如果函数的输入提供为“文件”,则文件中的参数将不会映射至函数的参数。
Header
请求的Header通常包含有关请求的附加信息。Header中提供的信息可采集到 crmAPIRequest 参数中的 "headers" 密钥。
要获取请求的Header:
crmAPIRequestMap = crmAPIRequest.toMap();
// to get the user info of the request
header_request = crmAPIRequestMap.get("headers");
/**
Your Business Logic here
**/
return crmAPIRequestMap;
用户信息
此密钥可用来获取有关用户及用户所在机构的信息,该用户使用 OAuth2 方法调用该函数。
要获取有关用户的信息:
crmAPIRequestMap = crmAPIRequest.toMap();
// to get the user info of the request
user_info = crmAPIRequestMap.get("user_info");
/**
Your Business Logic here
**/
return crmAPIRequestMap;
备注:
- 如果该函数作为 API 密钥进行调用,则您获得的用户信息将是超级管理员的信息,而不是其调用该函数的用户的信息。
身份验证类型和方法
这两个密钥可用来获取身份验证信息(apikey 或 oauth)和 HTTP 方法 (GET/POST)。
要获取有关身份验证类型的信息:
crmAPIRequestMap = crmAPIRequest.toMap();
// to get the HTTP method of the request
user_info = crmAPIRequestMap.get("method");
// to get the authentication type of the request
user_info = crmAPIRequestMap.get("auth_type");
/**
Your Business Logic here
**/
return crmAPIRequestMap;