2010-09-19 12 views
7

Sto utilizzando l'API del grafico di Facebook per pubblicare sulla bacheca di un utente. Gli ho dato questi parametri:Pubblica come tipo di collegamento con l'API del grafico di Facebook

message 
name 
description 
picture 
link 
caption 

Posta al muro, ma non lo tratta come un collegamento. Lo so perché non apre una nuova scheda quando si fa clic sul collegamento, non c'è un link di azione condivisa e Twitter non lo rileva perché lo faccio filtrando il mio muro solo tramite link.

vedo la documentazione Facebook ha due pagine di documentazione separate per pubblicare "Post" e oggetti "Link" .. ma i link è distacco per lo stesso percorso grafico in modo non sono sicuro di come si è sostenuto di lavorare:

http://developers.facebook.com/docs/reference/api/post

http://developers.facebook.com/docs/reference/api/link

Chiunque ha ottenuto questo lavoro?

risposta

2

Utilizzare l'API di Facebook disponibile su codeplex.com e provare questo fuori,

Facebook.Rest.attachment_media_image image1 = new attachment_media_image(); 

image1.href = ""; 
image1.src = ""; 

Facebook.Rest.attachment a = new Facebook.Rest.attachment(); 
a.media = new List<Facebook.Rest.attachment_media> { image1 }; 
a.href = ""; 
a.name = ""; 
a.caption = "{*actor*}"; 
a.properties = null; 

if(fbapi.Users.HasAppPermission(Enums.ExtendedPermissions.publish_stream)) 
    fbapi.Stream.Publish(" Your message", a, 
         new List<action_link>() 
         { 
          new action_link() 
          { 
           text = "",          
           href = "" 
          } 
         }, 
         null, 0); 
0

Quello che faccio quando si utilizza il grafico aperto è questo:

var uri = new Uri(
    "https://graph.facebook.com/me/links?access_token=" + AccessToken); 

var data = 
    message != null 
     ? string.Format(
      "link={0}&message={1}", 
      Uri.EscapeDataString(link), 
      Uri.EscapeDataString(message)) 
     : string.Format("link={0}", Uri.EscapeDataString(link)); 

// (parameters other than link and message are grabbed from a website anyway) 

WebClient client = new WebClient(); 
client.Headers["Content-type"] = "application/x-www-form-urlencoded"; 
client.Encoding = Encoding.UTF8; 
client.UploadStringAsync(uri, "POST", data); 
Problemi correlati