2016-10-03 5 views
1

Есть ли способ, которым я могу читать данные объявлений от Lead_ID в asp.net? Я вижу, есть примеры PHP, но нет SDK для C# .Unforunately я должен использовать Asp.net и не может использовать любые другие технологииFacebook Ads retrieve 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 and Models - это ваши классы, где вы можете сохранить данные! –

Смежные вопросы