Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 将信息从LeadsBridge post发送到apex salesforce rest服务_Facebook_Web Services_Rest_Apex_Salesforce Service Cloud - Fatal编程技术网

Facebook 将信息从LeadsBridge post发送到apex salesforce rest服务

Facebook 将信息从LeadsBridge post发送到apex salesforce rest服务,facebook,web-services,rest,apex,salesforce-service-cloud,Facebook,Web Services,Rest,Apex,Salesforce Service Cloud,我试图从与Facebook链接的LeadsBridge平台的集成中接收字段,因此我在Salesforce的apex上制作了一个RestService来获取信息,但LeadsBridge发送信息的方式似乎与Post json不同 这就是我想做的: @RestResource(urlMapping='/CarsyncLeadsBridge/*') global class CarsyncLeadsBridge{ @HttpPost global static Map<Str

我试图从与Facebook链接的LeadsBridge平台的集成中接收字段,因此我在Salesforce的apex上制作了一个RestService来获取信息,但LeadsBridge发送信息的方式似乎与Post json不同

这就是我想做的:

@RestResource(urlMapping='/CarsyncLeadsBridge/*')
global class CarsyncLeadsBridge{



   @HttpPost
    global static Map<String,String> doPost(
            String id, String created_time, String campaign_id, String adset_id, 
            String ad_id, String email, String full_name, String phone_number, String mensaje){

        try {
            MSystem.debug(id+' - '+full_name+' - '+created_time+' - '+campaign_id+' - '+adset_id+' - '+adset_id+' - '+ad_id+' - '+email+' - '+phone_number);
@RestResource(urlMapping='/CarsyncLeadsBridge/*'))
全局类CarsyncLeadsBridge{
@httpost
全局静态映射doPost(
字符串id、字符串创建时间、字符串活动id、字符串adset id、,
字符串广告id、字符串电子邮件、字符串全名、字符串电话号码、字符串mensaje){
试一试{
MSystem.debug(id+'-'+全名+'-'+创建的时间+'-'+活动id+'-'+adset\U id+'-'+adset\U id+'-'+ad\U id+'-'+电子邮件+'-'+电话号码);
但不起作用,LeadsBridge无法使用它,并且在使用之前会抛出错误,因此我尝试:

@RestResource(urlMapping='/CarsyncLeadsBridge/*')
global class CarsyncLeadsBridge{



   @HttpPost
    global static Map<String,String> doPost(){

        try {
 String id = apexpages.currentpage().getparameters().get('id');
            String created_time = apexpages.currentpage().getparameters().get('created_time');
            String campaign_id = apexpages.currentpage().getparameters().get('campaign_id');
            String adset_id = apexpages.currentpage().getparameters().get('adset_id');
            String ad_id = apexpages.currentpage().getparameters().get('ad_id');
            String email = apexpages.currentpage().getparameters().get('email');
            String full_name = apexpages.currentpage().getparameters().get('full_name');
            String phone_number = apexpages.currentpage().getparameters().get('phone_number');
            String mensaje = apexpages.currentpage().getparameters().get('mensaje');

            System.debug(id+' - '+full_name+' - '+created_time+' - '+campaign_id+' - '+adset_id+' - '+adset_id+' - '+ad_id+' - '+email+' - '+phone_number);
@RestResource(urlMapping='/CarsyncLeadsBridge/*'))
全局类CarsyncLeadsBridge{
@httpost
全局静态映射doPost(){
试一试{
字符串id=apexpages.currentpage().getparameters().get('id');
字符串created_time=apexpages.currentpage().getparameters().get('created_time');
字符串campaign_id=apexpages.currentpage().getparameters().get('campaign_id');
字符串adset_id=apexpages.currentpage().getparameters().get('adset_id');
字符串ad_id=apexpages.currentpage().getparameters().get('ad_id');
字符串email=apexpages.currentpage().getparameters().get('email');
字符串full_name=apexpages.currentpage().getparameters().get('full_name');
字符串phone_number=apexpages.currentpage().getparameters().get('phone_number');
字符串mensaje=apexpages.currentpage().getparameters().get('mensaje');
系统调试(id+'-'+全名+'-'+创建的时间+'-'+活动id+'-'+adset id+'-'+adset id+'-'+广告id+'-'+电子邮件+'-'+电话号码);
这一个在LeadsBridge上是成功的,但当我尝试获取参数时,它们不存在,并产生一个Nullpointer异常。 当我从这个平台(LeadsBridge)的post方法接收信息时,任何人都知道我应该如何获取字段

谢谢你的帮助


PD:我在Google Chrome的ARC tester上尝试了这两种方法,效果很好。

我看不出你在第一种方法中捕获了请求,你不需要,当你使用@RestResource时,这意味着apex服务会自动捕获它,在第二种方法中,我尝试使用apexpages.currentpage().getparameters().get('field'))我想我从来没有在我使用
RestRequest-request=RestContext.request;
restreponse-response-response=RestContext.response;
然后序列化它的地方构建过一个