2012-01-29 15 views
5

How can I construct a link to view a message on facebook.com if I have the message id प्रश्न है, लेकिन यह अनुत्तरित है। क्या होगा यदि मुझे थ्रेड की आईडी/me/inbox API endpoint का उपयोग कर मिली है और उपयोगकर्ता को इस धागे को दिखाते हुए फेसबुक पर रीडायरेक्ट करने की आवश्यकता है? मैं यूआरएल कैसे बना सकता हूं। http://www.facebook.com/messages/?action=read&tid=id.143666952390138 जैसे यूआरएल प्रतीत होते हैं जहां थ्रेड आईडी अंत में संख्या है। लेकिन कुछ अजनबी यूआरएल भी हैं जैसे http://www.facebook.com/messages/?action=read&tid=27726d81656e4c07ae5654116cccb724 जहां पिछला नियम काम नहीं करता है। क्या ग्राफ़ एपीआई या एफक्यूएल का उपयोग कर थ्रेड यूआरएल प्राप्त करने का कोई समाधान है?थ्रेड आईडी जानने के लिए संदेश थ्रेड यूआरएल कैसे प्राप्त करें?

उत्तर

8

यदि आपके पास आईडी है तो एक स्ट्रिंग ऑब्जेक्ट (शायद एक guid) है, यह फेसबुक की पुरानी संदेश प्रणाली संग्रहण संरचना से है। अब वे एक नया भंडारण संरचना है कि पुराने लोगों नए

में स्थानांतरित किए जाने की आवश्यकता को नवीनीकृत किया है तो तुम एक काफी आसान नियंत्रण रखने के:

तो धागा आईडी एक लंबे (Int64/BigInt) है, तो आप एक नया धागा है और http://www.facebook.com/messages/?action=read&tid=id.THREAD_ID

उपयोग कर सकते हैं धागा आईडी एक स्ट्रिंग है तो आप एक पुराने धागा है और

http://www.facebook.com/messages/?action=read&tid=THREAD_ID

कई प्रोग्रामिंग langu उपयोग कर सकते हैं आयु के मूल्य के प्रकार की जांच करने का अपना रूप है।

var threadId = (string)data.thread_id; 
var longVal = 0L;  
var isLong = Int64.TryParse(threadId, out longVal); 
var threadUrl = (isLong) ? 
    "http://www.facebook.com/messages/?action=read&tid=id." + threadId : 
    "http://www.facebook.com/messages/?action=read&tid=" + threadId; 
+1

यह बहुत अच्छा है, तो सब कुछ इस आसान था होगा, लेकिन जब 27726d81656e4c07ae5654116cccb724 के लिए अनुरोध ग्राफ एपीआई से/मुझे/इनबॉक्स (कैसे पता होना चाहिए ठीक से खुला फेसबुक धागा पृष्ठ पर) धागा मैं एक 64 बिट "आईडी मिल ":" 1 9 6133107397 "। और यदि मैं थ्रेड पेज यूआरएल बनाने के लिए आईडी/me/inbox (64 बिट एक) से आईडी का उपयोग करता हूं तो मुझे "कोई संदेश नहीं मिला" त्रुटि मिलती है। मैं ग्राफ एपीआई का उपयोग कर फेसबुक से लंबी हेक्स आईडी पुनर्प्राप्त नहीं कर सकता। – vian

+1

मुझे नहीं पता कि आपने मूल्यों के साथ क्या किया है, लेकिन मैंने जो भी कोशिश की है, हमेशा, मैंने हमेशा पोस्ट किए गए कोड का उपयोग करके काम किया है। बेशक आपको 'read_mailbox' अनुमतियों ** के साथ ** मान्य उपयोगकर्ता पहुंच टोकन होना चाहिए। देखें: https://developers.facebook.com/docs/reference/api/permissions – DMCS

+0

मेरे पास एक read_mailbox अनुमति है और मैंने इसे काम करने की जांच की है, लेकिन किसी कारण से मैं केवल लंबी हेक्स स्ट्रिंग आईडी प्राप्त कर सकता हूं जब मैं/मुझे/धागे कनेक्शन, जब मैं/me/inbox का उपयोग करता हूं तो मुझे एक गैर-कार्यशील आईडी मिलती है। इसके बजाय/me/threads का उपयोग करना आसान होगा यदि उपयोगकर्ता को एप्लिकेशन के डेवलपर होने की आवश्यकता नहीं होती है। – vian

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