2010-09-19 29 views
7

Tôi đang sử dụng API biểu đồ Facebook để xuất bản trên tường của người dùng. Tôi cung cấp cho nó các thông số sau:Đăng dưới dạng loại liên kết với API biểu đồ Facebook

message 
name 
description 
picture 
link 
caption 

Bài đăng trên tường nhưng không coi đó là liên kết. Tôi biết điều này bởi vì nó không mở một tab mới khi liên kết được nhấp, không có liên kết hành động chia sẻ, và Twitter không nhặt nó lên vì tôi có nó lọc tường của tôi chỉ bằng liên kết.

tôi thấy các tài liệu Facebook có hai trang tài liệu riêng biệt cho xuất bản "Post" và "Liên kết" các đối tượng .. nhưng các liên kết được gửi bài đến con đường đồ thị tương tự như vậy tôi không chắc chắn làm thế nào nó được hỗ trợ để làm việc:

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

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

Bất cứ ai đã làm việc này?

Trả lời

2

Sử dụng facebook API có sẵn trên codeplex.com và cố gắng này ra,

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

Những gì tôi làm khi sử dụng đồ thị mở này là:

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); 
Các vấn đề liên quan