2016-10-03 75 views
1

有沒有一種方法可以閱讀廣告中的數據來自Lead_ID在asp.net中?我看到有PHP的例子,但沒有SDK爲C#.Unforunately我必須使用Asp.net,不能使用任何其他技術Facebook的廣告信息檢索asp.net

任何建議高度讚賞

回答

0

您可以使用Facebook SDK C#和

var fb = new FacebookClient 
      { 
       AccessToken ="token" 
      }; 
      var json = fb.Get("page_id or ad_id/leadgen_forms"); 
      var forms = JsonConvert.DeserializeObject<FormsLeads>(json.ToString()); 
      foreach (var form in forms.data) 
      { 
       var jsonre = fb.Get(form.id + "/leads"); 
       var leads = JsonConvert.DeserializeObject<Leads>(jsonre.ToString()); 
       while (leads.paging != null) 
       { 
        foreach (var lead in leads.data) 
        { 
         var leadnovo = new Models.Lead(); 
         leadnovo.CamposExtras.Add(new CampoExtra { Nome = "idfacebook", Valor = lead.id }); 
         leadnovo.DataCadastro = lead.created_time; 

         foreach (var t in lead.field_data) 
         { 
          if (t.name == "full_name") 
          { 
           leadnovo.Nome = t.values.FirstOrDefault(); 
          } 
          else 
           if (t.name == "email") 
           { 
            leadnovo.Email = t.values.FirstOrDefault(); 
           } 
           else 
            if (t.name == "phone_number") 
            { 
             leadnovo.Celular = t.values.FirstOrDefault(); 
            } 
            else 
            { 
             leadnovo.CamposExtras.Add(new CampoExtra() 
             { 
              Nome = t.name, 
              Valor = t.values.FirstOrDefault() 

             }); 
            } 
         } 
         if (db.Leads.FirstOrDefault(c => c.Email == leadnovo.Email) == null) 
         { 
          db.Leads.Add(leadnovo); 
          db.SaveChanges(); 
         } 
        } 
        if (leads.paging != null) 
        { 
         jsonre = fb.Get(form.id + "/leads?after=" + leads.paging.cursors.after); 
         leads = JsonConvert.DeserializeObject<Leads>(jsonre.ToString()); 
        } 
       } 
      } 
     } 

類爲反序列化

public class Cursors 
{ 
    public string before { get; set; } 
    public string after { get; set; } 
} 
public class Field_Data 
    { 
     public string name { get; set; } 
     public string[] values { get; set; } 
    } 


public class FormsLeads 
    { 
     public Formulario[] data { get; set; } 
     public Paging paging { get; set; } 
    } 
public class Formulario 
    { 
     public string id { get; set; } 
     public string leadgen_export_csv_url { get; set; } 
     public string locale { get; set; } 
     public string name { get; set; } 
     public string status { get; set; } 
    } 
public class Lead 
    { 
     public DateTime created_time { get; set; } 
     public string id { get; set; } 
     public Field_Data[] field_data { get; set; } 
    } 
public class Leads 
    { 
     public Lead[] data { get; set; } 
     public Paging paging { get; set; } 
    } 
public class Paging 
    { 
     public Cursors cursors { get; set; } 
    } 
+0

我試圖執行按照上述代碼中,但要編譯時間錯誤模型和CampoExtra。您能否讓我知道這些課程是從哪個圖書館轉介的? –

+0

Campos Extras和Models是您保存數據的課程! –