2016-06-08 17 views
5

उपयोगकर्ता की गूगल खाते का उपयोग कर, मैं लोगों को केवल सभी ones.Access टोकन सूचीबद्ध से बाहर कुछ ईमेल पते रिटर्न और सभी कार्यक्षेत्रों किया गया है API.It उपयोग करने के बाद कुछ समस्याओं का सामना कर रहा हूँ संपर्कों को लाने का प्रयास करते समय सही ढंग से सेट करें। निम्नलिखित के लिए कोड:लोग बनाम संपर्क एपीआई गूगल के एपीआई

URL feedUrl = new URL("https://www.google.com/m8/feeds/contacts/default/full"); 
    ContactFeed resultFeed = myService.getFeed(feedUrl, ContactFeed.class); 

    // Print the results 
    System.out.println(resultFeed.getTitle().getPlainText()); 
    for (ContactEntry entry : resultFeed.getEntries()) { 
      .... 
      ..... 
      ....... 
} 

मैं जानना चाहता हूँ:

People peopleService = new People.Builder(httpTransport, jsonFactory, credential) 
        .build(); 
ListConnectionsResponse response = peopleService.people().connections().list("people/me") 
        .setPageSize(500).setSortOrder("FIRST_NAME_ASCENDING") 
        .setAccessToken(tokenResponse.getAccessToken()) 
        .setAlt("json") 
        .setRequestMaskIncludeField("person.names,person.emailAddresses,person.phoneNumbers") 
        . execute(); 
    connections = response.getConnections(); 
इसके बजाय इस बात का है कि अगर मैं गूगल के संपर्क एपीआई का उपयोग तो मैं और अधिक संपर्क एपीआई के लिए people.Code से ईमेल पतों की कोई मिल रहा है

यदि उनमें से दोनों के बीच कोई अंतर है और मुझे बेहतर परिणामों के लिए उपयोग करना है या क्या मुझे कुछ याद आ रहा है। कृपया सुझाव दे। धन्यवाद..!!

+0

जांचें https://people.googleapis.com/$discovery/rest?version=v1 आपको स्कीमा और विधि स्टैट समर्थित है। – darewreck

उत्तर

3

लोग API है और अधिक अप-टू-डेट। Google's blog announcement के माध्यम से पढ़ना, लोग एपीआई सरल करता है कि Google+ API और संपर्क API पर अलग-अलग कॉल होने की आवश्यकता होती है। अब आपको केवल एक का उपयोग करने की आवश्यकता है।

जब हो रही उपयोगकर्ता के list of connections, correct scopes निर्दिष्ट करना सुनिश्चित करें "नए लोग API नवीनतम प्रोटोकॉल और प्रौद्योगिकियों और अंत में जो GData प्रोटोकॉल का उपयोग करता संपर्क API का स्थान ले लेगा का उपयोग करता है" इसका उपयोग करते समय।

https://www.googleapis.com/auth/contacts - अनुरोध है कि आपकी ऐप पढ़ा दिया और प्रमाणीकृत उपयोगकर्ता की Google संपर्क में संपर्कों तक पहुंच को लिखने जा। https://www.googleapis.com/auth/contacts.readonly - अनुरोध है कि आपकी ऐप दिया जा प्रमाणीकृत उपयोगकर्ता की Google संपर्क में संपर्कों तक पहुंच को पढ़ें।

चेक लोग API और संपर्क API के बीच इस link for similarities and differences

+0

मैंने सभी क्षेत्रों को ठीक से जोड़ा है, लेकिन लोग एपीआई ज्यादा नहीं दे रहे हैं। संपर्कों के ईमेल पते के संपर्क के रूप में api। – Ankur1994a

1

मैं अगर जावा कोड के साथ किसी भी मुद्दे है वहाँ यकीन नहीं है, लेकिन यह इस तरह होना चाहिए, अगर आप अनुरोध है कि बाहर भेज दिया जाता देखो:

यूआरएल: https://content-people.googleapis.com/v1/people/me/connections?pageSize=300&requestMask.includeField=person.names%2Cperson.email_addresses&sortOrder=FIRST_NAME_ASCENDING&key=

मैं कर रहा था सही ईमेल और नाम के साथ सभी संपर्क प्राप्त करने के लिए। यदि आप "Google संपर्क प्रबंधित करें" Google पर संपर्क करेंगे तो आप संपर्कों की एक सूची देखेंगे। वहां से उस नंबर को लें, और केवल कनेक्शन गिनती मुद्रित करें जो मेल खाना चाहिए। आपको बस यह सुनिश्चित करना होगा कि पेज साइज काफी बड़ा है या आपको सभी संपर्क प्राप्त करने के लिए पेजिंग को संभालना होगा।

इसके अलावा मैं महसूस किया कि requestMask.includeField वास्तव में क्या मापदंडों और रिक्त स्थान डाल के प्रति संवेदनशील है। "person.name, person.email_addresses" ने काम किया और "person.name, person.email_addresses" नहीं किया।

पुराने संपर्क एपीआई के साथ, आप q पैरामीटर से पूछ सकते हैं जो मुझे नहीं लगता कि लोग एपीआई इस क्षमता को प्रदान करता है। मुझे लगता है कि कुंजी शब्दों द्वारा अपनी खोज फ़िल्टर करने की क्षमता अनुरोध आकार को कम करने के लिए महत्वपूर्ण है।

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