配置对象定义"使用此功能。下面" />

云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

轻量服务器_金蝶服务器_学生机

小七 141 0

轻量服务器_金蝶服务器_学生机

Employee Central提供了一个强大的功能来创建自定义通用对象,也称为元数据框架(MDF)对象。如果登录的用户具有相应的权限,则可以通过"管理工具–>配置对象定义"使用此功能。下面的屏幕截图显示了一个名为cust\u LMS\u Trial的定制通用对象。此对象的每个记录都有一个自动生成的代码(externalCode)、与employee central中的用户的关联(externalName)和四个类型为string的字段(cust\u Field1,…cust\u Field4)。所有其他字段都是系统生成的字段:

此对象定义可以使用简单的UI创建,无需任何编码。在保存了上面的对象定义之后,还可以通过"Admin Tools–>Manage data"使用一个UI来输入数据:

提示:在某些情况下,可能需要在创建对象之后,在第一次成功的API调用之前刷新OData API元数据。此刷新可在"Admin Tools–>OData API Metadata refresh and Export"(在"Manage Integration Tools"组的权限中启用此功能后)中找到。

保存此对象定义后,OData API可立即用于读写数据。请注意,只有

在创建了如上所述的对象定义之后,可以使用rest客户端(如google chrome中的"高级rest客户端")为employee central中创建的对象cust\u LMS\u Trial调用API。

最简单的API调用是检索所创建对象cust\u LMS\u Trial的所有记录。在我们的salesdemo环境中,这样的请求看起来是这样的(请注意,URL在您的环境中可能不同,请参阅OData API程序员指南以获取您的正确URL):

请求URL和操作:

获取https://salesdemo4.successfactors.com/odata/v2/cust\u LMS\u试用版?$format=JSON

请求头:

授权:Basic dXNlckBjb21wYW55OnBhc3N3b3Jk

备注:上面神秘的授权字符串是用户名的base64编码,您登录的实例或公司以及该公司用户对应的密码。要获取上面的字符串,可以使用任何base64编码工具对字符串进行编码用户@公司:密码(例如记事本++和此编辑器中可用的mime工具)。同一请求包括高级rest客户端的部分repsonse:

参数$format用于影响输出格式并以JSON格式返回数据(默认值为ATOM/XML)。

为了通过OData API创建新数据,大数据app,使用POST操作(另请参见). 要为我们的对象cust\ulms\u Trial创建数据,我们必须将操作切换到POST,并在OData请求头中添加一个content-type参数。这个内容类型定义了有效负载的格式,在我们的例子中是JSON,以及使用的字符集(这里是utf-8):

请求URL和操作:

POSThttps://salesdemo4.successfactors.com/odata/v2/cust\u LMS\u试用版?$format=JSON

请求头:

授权:Basic dXNlckBjb21wYW55OnBhc3N3b3Jk

内容类型:application/JSON;charset=utf-8

负载:

{

"cust\u Field1":"15",

"cust\u Field4":"40",

"cust\u Field3":"30",

"cust\u Field2":"20",

"externalName":"greinhard"

}

响应:

状态"201 Create"并在响应中创建数据

google chrome中的相同创建请求:

为了更新现有数据,必须使用PUT操作,并且必须在URL中标识相应的记录。OData请求用键162更新cust\u LMS\u试用记录如下所示。与创建数据相比,请不要只更改操作和url:

请求url和操作:

放置https://salesdemo4.successfactors.com/odata/v2/cust\u LMS\u试用版(162L)?$format=JSON

请求头:

授权:Basic dXNlckBjb21wYW55OnBhc3N3b3Jk

内容类型:application/JSON;charset=utf-8

负载:

{

"cust\u Field1":"151",

"cust\u Field4":"401",

"cust\u Field3":"301",

"cust\u Field2":"201",

"externalName":"greinhard"

}

响应:

状态"200 OK",无数据响应

google chrome中的相同请求:

使用上述示例中的字段"externalName"作为简单字段只是一种方便创建数据的快捷方式。通常必须使用专用的导航属性创建关联。如果字段被标记为必需,并且在对象定义中为这些字段启用了相应的权限检查,则此创建数据的快捷方式版本将不再工作:

从这个角度来看,如果您计划稍后切换到启用权限模式并使此字段变为可用,则使用快捷方式不是一个好主意"externalName"是必需的。

在这种情况下,最好使用如下有效负载:

{

"cust\u Field1":"11",

"cust\u Field4":"41",

"cust\u Field3":"31",

"cust\u Field2":"21",

"externalNameNav":{

"cust\u metadata":{

"uri":https://salesdemo4.successfactors.com:443/odata/v2/User('greinhard')",

"类型":SFOData.用户"

}

}

}

伟大的贡献杰拉尔德!

美丽的博客!

有一个问题-当我们尝试使用Odata API从自定义通用/元数据对象检索数据时,它提供了该通用对象的所有记录的详细信息。

是否可以通过Odata API调用获取登录用户的用户名/或在base64编码过程中传递的用户名。

谢谢,Sahiba Gandhi

Hi,