2015-08-16 8 views
7

मैं दूत एप्लिकेशन पर काम कर रहा हूँ, ज्यादातर है कैसे व्यक्ति के साथ आप सामग्री साझा कर रहे हैं करने के लिए उपयोगकर्ता जानकारी भेजने के लिए the docs hereFacebook मैसेंजर एसडीके कैसे उपयोगकर्ता का नाम

केवल पकड़ लिया पर देख कर पाने के लिए?

डॉक्स से यह है कि FBSDKMessengerURLHandlerReplyContext userID

NSSet *userIds = context.userIDs 

हो सकती है फिर भी, मैं userID कैसे उपयोग उपयोगकर्ता जानकारी पाने के लिए कर सकते हैं लगता है? या क्या उपयोगकर्ता जानकारी लाने का यह सही तरीका भी है?

ऐसा लगता है कि यह कार्य करने योग्य है। This game does that

यह उपयोगकर्ता स्क्रीन को वास्तव में लॉगिन करने के बिना, पहली स्क्रीन में उपयोगकर्ता की जानकारी बता सकता है।

कोई विचार या इसे कैसे बनाया जाए इस पर सहायता?

उत्तर

5

प्रयोक्ता आईडी उन है कि पहले से आपका ऐप्लिकेशन में प्रमाणित से कर रहे हैं, यह, ग्राफ एपीआई का उपयोग कर प्राप्त किया जा सकता है कि वे फेसबुक डॉक्स पर कहते हैं:

उपयोगकर्ता आईडी फेसबुक एसडीके और ग्राफ़ के साथ इस्तेमाल किया जा सकता एपीआई (https://developers.facebook.com/docs/graph-api) नाम पूछने के लिए, तस्वीरें, और अन्य डेटा। इसमें केवल उन उपयोगकर्ताओं की आईडी होगी जिनमें भी आपके ऐप में अपने फेसबुक खाते के माध्यम से लॉग इन हैं।

उपयोगकर्ता आईडी के साथ ग्राफ़ एपीआई का उपयोग करने के तरीके पर कुछ कोड यहां दिए गए हैं।

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
             initWithGraphPath:[NSString stringWithFormat:@"/%@", {userID-goes-here}] 
             parameters:@{@"fields":@"name,id,picture,gender,birthday,email"} 
             HTTPMethod:@"GET"]; 
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, 
               id result, 
               NSError *error) { 
    if (!error){ 
      NSLog(@"result: %@",result);   
    } 
}]; 

इस अनुरोध का परिणाम इस तरह दिखता है:

{ 
    birthday = "06/24/1981"; 
    email = "[email protected]"; 
    gender = male; 
    id = 67XXXXX39; 
    name = "Adriano Spadoni"; 
    picture = { 
     data = { 
      "is_silhouette" = 0; 
      url = "https://fbcdn-prof... ...jpg"; 
     }; 
    }; 
} 

बस इतना याद रखें कुछ क्षेत्रों शायद अशक्त हो के रूप में यह इस प्रकार आप एक कॉल कर सकते।

आपको शायद उपयोगकर्ता द्वारा उपयोगकर्ता द्वारा अनुरोध करने वाले लूप को करने की आवश्यकता होगी, मुझे डर है, अगर कोई जानता है कि एक ही समय में उपयोगकर्ताओं के पैच से कैसे पूछना है, तो कृपया हमें दिखाएं। क्योंकि /me/username अब नहीं है

FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: ["fields":"installed,id,name,picture.width(1000)"]).startWithCompletionHandler({ (connection, result, err) -> Void in 
        if err == nil { 
         print(result) 
        } 
       }) 
+0

AFAIK, FBMessengerSDK के साथ प्रमाणीकरण की कोई आवश्यकता नहीं है। आप बस आगे बढ़ सकते हैं और सामग्री साझा कर सकते हैं। यदि आप उपरोक्त गेम लिंक देखते हैं, तो आप देखेंगे कि यह किसी भी तरह की उपयोगकर्ता जानकारी प्राप्त कर रहा है और ऐप प्रमाणीकरण या लॉगिन की आवश्यकता नहीं है। – N0mi

+0

मैं कुछ और इंफोस जोड़ता हूं, आप इसे "टैगगेबल दोस्तों" के साथ कर सकते हैं, मैंने अभी परीक्षण किया है और आपको नाम और चित्र मिलते हैं =) –

+0

हां लेकिन "टैग करने योग्य" दोस्तों के साथ सावधान रहें।इसका उपयोग इस तरह से नहीं किया जाना चाहिए और फेसबुक आपके ऐप को अस्वीकार कर सकता है, आपको बाद में अपनी सबमिशन की आवश्यकता है। – Tulleb

0

आप अब उपयोगकर्ता नाम नहीं मिल सकता है:

लेकिन

आप अभी तक उन है कि नहीं आपका एप्लिकेशन इंस्टॉल से जानकारी प्राप्त करना चाहते हैं, तो आप की जरूरत है उपलब्ध।

स्रोत: https://developers.facebook.com/docs/apps/changelog#v2_0_graph_api

आप, लौटने वाले उपयोगकर्ताओं का पता लगाने के बजाय (एप्लिकेशन Scoped) आईडी उपयोग करना चाहते हैं।

+0

अरे पियुष, मैंने लगभग एक ही गलती की है कि वह "उपयोगकर्ता नाम" के बारे में पूछ रहा था, लेकिन उसने कहा: "उपयोगकर्ता नाम" (अंतरिक्ष देखें?) उसने शीर्षक में गलत वर्तनी की, यह "उपयोगकर्ता का नाम" होना चाहिए। वैसे भी जानकारी के लिए धन्यवाद, आप सही हैं "उपयोगकर्ता नाम" फेसबुक पर अच्छा है। –

+0

धन्यवाद ड्रैक्स, मैंने शीर्षक तय किया – N0mi

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