CSRF令牌验证失败-403禁止通过PUT调用Hybris API_MKT_CONTACT_SRV

2020-09-18 01:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)人们好, 我有一个通过C...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


人们好,

我有一个通过CAL设置的Hybris系统1709。 没有填充与Hybris相关的数据。 所以我试图创建一个联系人。

我正在使用API​​_MKT_CONTACT_SRV服务。

我正在使用标题中的X-csrf-token = fetch进行获取。

然后,我使用返回的x-csrf令牌使用PUT发布联系人:

http://myIP:myPort/sap/opu/odata/sap/API_MKT_CONTACT_SRV; v = 0002/联系人

这里是我正在使用的JSON,来自如何通过约翰内斯·赫林

 {
 " batchParts":{
 " batchChangeSet":{
 " batchChangeSetPart":{
 " method":" PUT",
 " ContactOriginData":{
 " ContactOriginData":{
 " LastName":" Test",
 " FirstName":" Tom",
 " EmailAddress":" JHI_001@test.com",
 " Country":" US",
 " ContactPostalCode":" 60611",
 " ContactOrigin":" SAP_ERP_CONTACT",
 " ContactID":" JHI_001",
 " CityName":"芝加哥",
 "出生日期":" 2000-12-13",
 " OriginDataLastChgUTCDateTime":" 0000-00-00T00:00:00"
 }
 }
 }
 }
 }
 }
 

我在这里传递了x-csrf令牌

响应头:

任何帮助将不胜感激。

谢谢

周杰伦

(91.3 kB)
2条回答
CPLASF-自律
2020-09-18 02:52 .采纳回答

杰伊,你好

https://blogs.sap.com/2018/04/02/how-to-import-contact- 数据通过odata服务到树汁混合动力营销/comment-page-1/#comments#comment-436002

  • /联系人仅支持GET方法。
    要创建新联系人或更新联系人,请使用ContactOriginData
  • 博客文章中的请求是使用CPI OData适配器的CPI示例。
    当启用页面处理时,CPI OData适配器会自动在适配器中转换为批处理请求。
  • 要创建联系人,请使用ContactOriginData和POST并在batchChangeSetPart中指定方法(PUT或PATCH)。
    直接向SAP Marketing Cloud OData Services请求的有效负载示例可在此处找到: https://help.sap.com/viewer/0f9408e4921e4ba3bb4805 -US/06526bdbae42455ba69a4aef0750561b.html

对于csrf验证错误。

通过响应,您将获得令牌和cookie。 两者都需要与请求一起提交。

set-cookie→SAP_SESSIONID_E4T_100 = ZhvXja66yahG23SyyydcmPcLgySx1hHou4kCAAobqKg%3d; 路径=/; 安全; HttpOnly

x-csrf令牌→AGh8wYvtk8wGDRez5W6w-Q ==

示例POST请求

 POST/sap/opu/odata/sap/API_MKT_CONTACT_SRV/$ batch HTTP/1.1
 主持人:
 x-csrf令牌:AGh8wYvtk8wGDRez5W6w-Q ==
 内容类型:多部分/混合;边界=批处理
 Cookie:SAP_SESSIONID_E4T_100 = ZhvXja66yahG23SyyydcmPcLgySx1hHou4kCAAobqKg%3d

  - 批量
 内容类型:多部分/混合;  boundary = changeset_1


 --changeset_1
 内容类型:application/http
 内容传输编码:二进制


 PUT ContactOriginData(ContactID ='JHI_000',ContactOrigin ='SAP_HYBRIS_CONSUMER')HTTP/1.1
 接受:application/json
 Sap-Cuan-RequestTimestamp:'2018-06-01T13:00:00'
 Sap-Cuan-SourceSystemType:邮递员
 Sap-Cuan-SourceSystemId:EXT
 内容类型:application/json


 {
 " OriginDataLastChgUTCDateTime":" 2018-06-01T13:00:00",
 " CityName":"芝加哥",
 "国家":"美国",
 " EmailAddress":" DonDummy@test.com",
 " FirstName":" Don",
 " LastName":" Dummy",
 " IsConsumer":否,
 " IsContactPerson":是的,
 " Language":" EN",
 " MobileNumber":" + 49119201412191"
 }


 --changeset_1--
  - 批量 - 
  


希望这会有所帮助。

br

约翰内斯

一周热门 更多>