2012-04-17 13 views
6

मैं फेसबुक एंड्रॉइड एसडीके का उपयोग कर रहा हूं। क्या ऐप डाउनलोड करने वाले उपयोगकर्ता के दोस्तों को पाने का कोई आसान तरीका है? उदाहरण के लिए, ऐप ड्रा कुछ कुछ लागू करता है। मुझे इस विषय पर कोई जानकारी नहीं मिल रही हैएंड्रॉइड फेसबुक दोस्तों को प्राप्त करता है जिन्होंने ऐप डाउनलोड किया है

मुझे लगता है कि यदि यह संभव था, तो इस जानकारी तक पहुंचने के लिए httppost में कुछ अतिरिक्त जानकारी की आवश्यकता होगी।

+0

हे आप नीचे दिए गए कोड GraphUser सूची के रूप में प्रतिक्रिया प्राप्त करने की आवश्यकता होगी , मैं भी एक सूचीदृश्य में दोस्तों की सूची चाहता हूँ। मैंने जेपीमैगलहास के पहले भाग में नीचे दिए गए उत्तर फेसबुक मित्र विधि का उपयोग किया है। लेकिन मुझे नहीं पता कि परिणाम कैसे घूमना है। मेरा मतलब है कि परिणाम सूची में परिणाम कैसे प्राप्त करें। मुझे सूची उपयोगकर्ताओं के साथ क्या करना है। आप इसे यहां जवाब दे सकते हैं: http: // stackoverflow।कॉम/प्रश्न/26773639/काम-के साथ-फेसबुक-एसडीके –

उत्तर

54

* नोट: 3.14 संस्करण के बाद से, मैं/दोस्तों केवल दोस्तों को वापस कर दूंगा जो ऐप का उपयोग भी करते हैं, इसलिए कार्यान्वयन के नीचे नीचे दिया गया है। विकल्प के लिए नए "आमंत्रित दोस्त" या "टैग करने योग्य मित्र" एपीआई देखें।

नए एंड्रॉइड के लिए फेसबुक एसडीके (3.0) का उपयोग करना आपके उपयोगकर्ता की मित्र सूची को प्राप्त करना बहुत आसान है।

private void requestFacebookFriends(Session session) { 
    Request.executeMyFriendsRequestAsync(session, 
      new Request.GraphUserListCallback() { 
       @Override 
       public void onCompleted(List<GraphUser> users, 
         Response response) { 
        // TODO: your code for friends here! 
       } 
      }); 
} 

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

private Request createRequest(Session session) { 
    Request request = Request.newGraphPathRequest(session, "me/friends", null); 

    Set<String> fields = new HashSet<String>(); 
    String[] requiredFields = new String[] { "id", "name", "picture", 
      "installed" }; 
    fields.addAll(Arrays.asList(requiredFields)); 

    Bundle parameters = request.getParameters(); 
    parameters.putString("fields", TextUtils.join(",", fields)); 
    request.setParameters(parameters); 

    return request; 
} 

ध्यान दें कि आप क्षेत्र डालने की आवश्यकता "स्थापित" अपने अनुरोध में:

सबसे पहले, आपके अनुरोध पैदा करते हैं। मैं उसी अनुरोध के साथ उपयोगकर्ता चित्र पथ का अनुरोध कर रहा हूं। अपनी संभावनाओं की जांच करें here

इसके बाद, आप कोड के ऊपर का उपयोग आपके अनुरोध बनाने के लिए कर सकते हैं और फिर अपने मित्रों को मिलती है:

private void requestMyAppFacebookFriends(Session session) { 
    Request friendsRequest = createRequest(session); 
    friendsRequest.setCallback(new Request.Callback() { 

     @Override 
     public void onCompleted(Response response) { 
      List<GraphUser> friends = getResults(response); 
      // TODO: your code here 
     } 
    }); 
    friendsRequest.executeAsync(); 
} 

नोट इस सामान्य अनुरोध का उपयोग कर, आप प्रतिक्रिया के रूप में एक GraphUser सूची प्राप्त नहीं होता।

private List<GraphUser> getResults(Response response) { 
    GraphMultiResult multiResult = response 
      .getGraphObjectAs(GraphMultiResult.class); 
    GraphObjectList<GraphObject> data = multiResult.getData(); 
    return data.castToListOf(GraphUser.class); 
} 

अब आप अपने उपयोगकर्ता के मित्र सूची का उपयोग कर सकते हैं, जानकारी के साथ करता है, तो अपने मित्रों में से प्रत्येक का उपयोग अपने फेसबुक ऐप:

GraphUser user = friends.get(0); 
boolean installed = false; 
if(user.getProperty("installed") != null) 
    installed = (Boolean) user.getProperty("installed"); 
+7

+1 पूर्णता और शुद्धता के लिए +1 चुनें। पूर्णता और शुद्धता के लिए यह सबसे अच्छा जवाब –

+2

+1 है, मैं इसे @BakeakeMiller से बेहतर नहीं कह सकता। – VansFannel

+0

"स्थापित" संपत्ति कैसे काम करती है? क्या इसमें ऐसे उपयोगकर्ता शामिल हैं जिन्होंने ऐप को पढ़ने की अनुमति दी है? –

1

मुझे आशा है कि इस पोस्ट में सहायक है: How can i get my friends using my facebook App with graph api asp.net

Facebook SDK के अनुसार, has_added_app फ़ील्ड बहिष्कृत है और आप is_app_user

+0

अतिरिक्त जानकारी के लिए धन्यवाद, तो ऐप का उपयोग करने वाले उपयोगकर्ताओं को प्राप्त करने के लिए फेसबुक ग्राफ एपीआई को कॉल करने का कोई तरीका नहीं है? –

+0

जैसा कि मैंने पाया है कि आप इस जानकारी को इकट्ठा करने के लिए FQL क्वेरी निष्पादित कर सकते हैं: उपयोगकर्ता से चुनें Iapp_user = 1 और यूआईडी (यूआईडी 1 = {यूएसर्स की एफबी आईडी}) –

2

का उपयोग करना चाहिए मैं इस तरह से

Bundle params = new Bundle(); 

params.putString("fields", "name, picture, location, installed"); 

में इसे लागू किया और सूची में आइटम्स को प्रदर्शित करने के दौरान, getView() विधि में मैंने यह

किया
boolean b = jsonObject.getBoolean("installed"); 

if (b){ 
    Log.d("VIVEK",jsonObject.getString("name")); 
} 
संबंधित मुद्दे

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