2010-04-27 17 views
39

के साथ दीवार संदेश पोस्ट करने के लिए फेसबुक ग्राफ़ का उपयोग करना फेसबुक में मैं उपयोगकर्ता की दीवार पर एक संदेश कैसे पोस्ट कर सकता हूं कि "मैंने ऑब्जेक्ट गेम पर 8/10 रन बनाए" तो एक यूआरएल?बस जावास्क्रिप्ट

मैं वास्तव में पूर्ण एपीआई का उपयोग नहीं करना चाहता, क्योंकि मैं उपयोगकर्ता लॉगिन विवरण को संभालना नहीं चाहता हूं। मुझे कोई फर्क नहीं पड़ता कि फेसबुक को प्रमाणित करने की आवश्यकता है और फिर संदेश पोस्ट करें।

क्या यह नया ग्राफ एपीआई और जावास्क्रिप्ट का उपयोग करना संभव है?

+0

क्या आपको "स्वचालित" होने की आवश्यकता है या क्या उपयोगकर्ता से "मेरी दीवार पर पोस्ट करें" ठीक है? –

+0

मेरी दीवार पर पोस्ट वह मुझे होगा जो मैं चाहता हूं। मैं बस चाहता हूं कि उपयोगकर्ता को अपनी दीवार पर भेजने का विकल्प हो। – Glycerine

+0

क्या भाग्य - क्योंकि इसे स्वचालित रूप से अनुमतियों को लाने में अधिक प्रयास की आवश्यकता होती है, वैसे भी। – Matchu

उत्तर

58

नोट 2011/04/16: stream.publish, जिसे बंद कर दिया है लगता है यह करने के लिए एक नया तरीका है: http://developers.facebook.com/docs/reference/dialogs/feed/

आप एक दीवार से प्रकाशित करने के लिए कुछ इस तरह उपयोग कर सकते हैं, उपयोगकर्ता होगा इसे भेजने से पहले पुष्टि करने की आवश्यकता है। यह न भूलें कि आपको FB.init का उपयोग करने और जेएस एसडीके लिंक शामिल करने की आवश्यकता होगी।

function fb_publish() { 
    FB.ui(
     { 
     method: 'stream.publish', 
     message: 'Message here.', 
     attachment: { 
      name: 'Name here', 
      caption: 'Caption here.', 
      description: (
      'description here' 
      ), 
      href: 'url here' 
     }, 
     action_links: [ 
      { text: 'Code', href: 'action url here' } 
     ], 
     user_prompt_message: 'Personal message here' 
     }, 
     function(response) { 
     if (response && response.post_id) { 
      alert('Post was published.'); 
     } else { 
      alert('Post was not published.'); 
     } 
     } 
    ); 
    } 
+0

अस्वीकरण: कोड का टेस्ट-रन नहीं किया है, लेकिन यह सही दिखता है। – Matchu

+4

मैंने इसे अपने कामकाजी कोडों में से एक से कॉपी किया। समारोह का परीक्षण किया जाता है :) –

+2

एफ * कॉकिंग आप लोगों से प्यार करते हैं। मैं इसे आज रात कोशिश करने जा रहा हूँ। – Glycerine

3

ध्यान में रखते हुए आपको क्रॉस-डोमेन कॉल करने के लिए एक प्रॉक्सी है, तो आप बस यह कर सकते हैं ...

इस उदाहरण में, YourProxyMethod, हैश की तरह एक jQuery.ajax लेता है एक सर्वर साइड पोस्ट बनाता & सफलता/त्रुटि कॉलबैक में प्रतिक्रिया देता है। किसी भी नियमित प्रॉक्सी करना चाहिए।

चाल यूआरएल में app_id और access_token को शामिल करना है। इसके अलावा, आपके एफबी ऐप में यह कॉल करने के लिए पर्याप्त अनुमति होनी चाहिए।

YourProxyMethod({ 
    url : "https://graph.facebook.com/ID/feed?app_id=APP_ID&access_token=ACCESS_TOKEN", 
    method : "post", 
    params : { 
    message : "message", 
    name : "name", 
    caption : "caption", 
    description : "desc" 
    }, 
    success : function(response) { 
    console.log(response); 
    }, 
    error : function(response) { 
    console.log("Error!"); 
    console.log(response); 
    } 
}); 
12

Post on wall संदेश को दीवार पर साझा करने के लिए एक संवाद बॉक्स दिखाएगा या नहीं। लेकिन मैं उपयोगकर्ता की दीवार पर चुपचाप संदेश पोस्ट करना चाहता था, यह मानते हुए कि उपयोगकर्ता पहले ही "दीवार पर पोस्ट" अनुमति दे चुका था।

FB.api('/me/feed', 'post', { 
     message:'my_message', 
     link:YOUR_SITE_URL, 
     picture:picture_url 
     name: 'Post name', 
     description: 'description' 
},function(data) { 
     console.log(data); 
}); 
+0

क्या आप अपना उत्तर अपडेट कर सकते हैं और इसे फिर से दोबारा पोस्ट कर सकते हैं? मैंने आपके कोड की कोशिश की और कहा कि उपयोगकर्ता ने आपको कुछ पोस्ट करने की अनुमति नहीं दी है। –

संबंधित मुद्दे