9

का उपयोग करके Google कनेक्शन एक्सेस करें मैं अपने ऐप से साइन इन किए गए उपयोगकर्ता के सभी Google निजी कनेक्शन प्राप्त करना चाहता हूं। मैंने Google लोग और Google Plus API को सक्षम किया है। मैंने क्रेडेंशियल एपीआई कुंजी, क्लाइंट आईडी & क्लाइंट राइट सेट अप किया है। यूआरएल जिसके साथ मैं लाने के लिए उन कनेक्शन कोशिश कर रहा हूँ मैं, पुस्तकालय पासपोर्ट-google-OAuth उपयोग कर रहा हूँ उन ACCESS_TOKEN पाने के लिएgoogle people API

https://people.googleapis.com/v1/people/me/connections?fields=connections&key=api_key&access_token=access_token 

भी है। क्या उपरोक्त यूआरएल में कुछ भी है जो मुझे याद आ रही है।

मेरे गूगल प्रमाणन कोड

// send to google to do the authentication 
    // profile gets us their basic information including their name 
    // email gets their emails 
    app.get('/auth/google', passport.authenticate('google', { 
     scope: ['profile', 'email','https://www.googleapis.com/auth/contacts.readonly', 'https://www.googleapis.com/auth/contacts'] 
    })); 

    // the callback after google has authenticated the user 
    app.get('/auth/google/callback', 
    passport.authenticate('google', { 
     successRedirect: '/profile', 
     failureRedirect: '/' 
    })); 

उत्तर

2

आप का उल्लेख नहीं किया है कि क्या त्रुटि मिल रहा है लेकिन यूआरएल को देखकर आप मैं तुम्हें कुछ बातें बता सकते हैं का उपयोग कर रहे है।

people.connections.list निजी उपयोगकर्ता डेटा तक पहुंचें। तो एक के लिए आपको उस कुंजी को जोड़ने की आवश्यकता नहीं है जिसका उपयोग सार्वजनिक डेटा तक पहुंचने के लिए किया जाता है। हालांकि दोनों को किसी भी त्रुटि संदेश का परिणाम नहीं होना चाहिए।

मैंने आपके द्वारा भेजे जा रहे अनुरोध का परीक्षण किया है और यह काम करता है हालांकि यह अनुरोध आवश्यक है कि आपने connections scopes में से कम से कम एक के साथ प्रमाणित किया हो।

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

यदि आपके पास नहीं है तो आपको कोई एक्सेस त्रुटि संदेश नहीं मिलेगा।

{ 
    "error": { 
    "code": 403, 
    "message": "Request had insufficient authentication scopes.", 
    "status": "PERMISSION_DENIED" 
    } 
} 
+0

ठीक है। मुझे एपीआई कुंजी चीज मिली है। लेकिन मैं पहुँचने वाले access_token के साथ, मुझे निम्न त्रुटि मिलती है: ** अनुरोध प्रमाणीकरण प्रमाण पत्र आवश्यक है। अपेक्षित OAuth 2 एक्सेस टोकन google people api **। मैं Google टोकन और google-api-nodejs-client को Google –

+0

@ParthVyas के लिए लोगों एपीआई तक पहुंचने के लिए Google टोकन और google-api-nodejs-client प्राप्त करने के लिए पैकेज का उपयोग कर रहा हूं, यदि आपके पास पहुंच टोकन है, तो इसे अपने अनुरोध के शीर्षलेख के रूप में उपयोग करने का प्रयास करें (शायद 'प्रमाणीकरण: "बेयरर" + एक्सेस टोकन') – BNK

+1

@BNK अनुरोध के अंत में आपको वही काम करने के बाद आपको इसे करने और access_token = करके ऐसा करने की आवश्यकता नहीं है। – DaImTo