2010-09-19 27 views
7

Estoy usando la API Graph de Facebook para publicar en el muro de un usuario. Le doy estos parámetros:Publicar como tipo de enlace con Facebook Graph API

message 
name 
description 
picture 
link 
caption 

Se coloca en la pared, pero no lo está tratando como un enlace. Lo sé porque no abre una nueva pestaña cuando se hace clic en el enlace, no hay un enlace de acción compartida, y Twitter no lo recoge porque lo tengo filtrando mi muro solo por enlaces.

veo la documentación Facebook tiene dos páginas de documentación independientes para publicar "Post" y objetos "Link" .. pero los enlaces es publicar en el mismo camino gráfica así que no estoy seguro de cómo se apoya a trabajar:

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

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

Alguien tiene este trabajo?

Respuesta

2

Utilice la API de Facebook disponible en codeplex.com y probar esto,

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

Lo que hago cuando se utiliza la gráfica abierta es la siguiente:

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); 
Cuestiones relacionadas