2010-09-19 24 views
7

के साथ लिंक प्रकार के रूप में पोस्ट करें मैं उपयोगकर्ता की दीवार पर प्रकाशित करने के लिए फेसबुक ग्राफ एपीआई का उपयोग कर रहा हूं। मैं इसे इन पैरामीटर देता हूं:फेसबुक ग्राफ एपीआई

message 
name 
description 
picture 
link 
caption 

यह दीवार पर पोस्ट करता है, लेकिन यह इसे एक लिंक के रूप में नहीं मान रहा है। मुझे यह पता है क्योंकि जब लिंक क्लिक किया जाता है तो यह एक नया टैब नहीं खोलता है, कोई साझा एक्शन लिंक नहीं है, और ट्विटर इसे नहीं उठाता है क्योंकि मैंने इसे अपनी दीवार को केवल लिंक से फ़िल्टर किया है।

मैं देख रहा हूँ फेसबुक डॉक्स "पोस्ट" और "लिंक" वस्तुओं .. प्रकाशित के लिए दो अलग-अलग ऐसे कई पृष्ठ है, लेकिन लिंक एक ही ग्राफ पथ के लिए पोस्ट कर रहा है तो मुझे यकीन है कि यह कैसे काम करने के लिए समर्थित है नहीं कर रहा हूँ:

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

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

कोई भी इस काम की है?

उत्तर

2

codeplex.com पर फेसबुक एपीआई उपलब्ध का उपयोग करें और इस बाहर की कोशिश,

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

क्या मैं जब खुला ग्राफ का उपयोग कर यह है:

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); 
संबंधित मुद्दे