2012-03-28 10 views
10

स्टैक ओवरफ्लो पोस्टिंग के सभी प्रकार और विभिन्न दस्तावेज पढ़ने के बाद http://code.google.com/p/google-api-java-client/ साइट पर मुझे पूरी तरह उलझन में लग रहा है। तो क्या कोई मुझे निम्नलिखित प्राप्त करने का सबसे अच्छा तरीका बता सकता है:एंड्रॉइड: Google एसएसओ - ओथ या खाता प्रबंधक? अथवा दोनों?

  1. उपयोगकर्ता को मेरे ऐप को स्वीकार करने दें। मुझे वास्तव में परवाह नहीं है कि यह खातों/सेटिंग्स में अपने पंजीकृत Google खाते तक पहुंचने और ऐप (पसंदीदा तरीका) को मंजूरी देकर या Google OAuth प्रमाणीकरण पृष्ठ
  2. पर प्रमाणीकरण टोकन प्राप्त करें जिसका उपयोग Google के साथ संवाद करने के लिए किया जा सकता है पाठक

मेरे लिए भ्रम का एक और बिंदु - मैं खाता प्रबंधक का उपयोग करके अपने ऐप को स्वीकार करने में सक्षम था और इससे ट्यूक प्राप्त कर रहा था लेकिन यह Google रीडर के साथ काम नहीं करेगा। तो खाता प्रबंधक और OAuth से खाता जानकारी कैसे संतुलित करें? खाता प्रबंधक सेटिंग्स में उपयोगकर्ता द्वारा अनुमोदित होने के बाद भी मुझे ओएथ के साथ कुछ भी करने की ज़रूरत है?

कोड उदाहरण अच्छा होगा, लेकिन मैं कैसे इन सभी टुकड़ों को एक दूसरे को

+0

आपका ऐप "स्वीकृति" से क्या मतलब है? क्या आप अपने ऐप (ओपनआईडी) में अपनी पहचान का उपयोग करना चाहते हैं या क्या आपका ऐप Google (OAuth) के साथ आपके उपयोगकर्ता के डेटा तक पहुंच सकता है? – Anirudh

+0

उचित सवाल। इस विशेष मामले में मैं अपने फोन के पंजीकृत Google खाते का उपयोग कर अपने Google रीडर खाते में उपयोगकर्ता को साइन इन करने में सक्षम होना चाहता हूं। वैकल्पिक रूप से (यदि यह संभव नहीं है) तो मैं Google OAuth ऐप अनुमोदन पृष्ठ पर प्रारंभ में उपयोगकर्ता को रीडायरेक्ट नहीं करता (लेकिन पसंद नहीं करता)। – Bostone

+0

Google रीडर खाते से जानकारी की वास्तविक पुनर्प्राप्ति दूरस्थ सर्वर द्वारा की जाती है, ऐप को केवल उचित प्रमाणीकरण टोकन – Bostone

उत्तर

6

खाता प्रबंधक आपको विभिन्न सेवाओं के लिए प्रमाणीकरण टोकन प्राप्त करने देता है। हुड के तहत विभिन्न ठोस कार्यान्वयन हैं: क्लाइंटलॉगिन, ओथ, इत्यादि। Google रीडर के साथ काम करने के लिए, आपको उचित टोकन प्रकार को पारित करने की आवश्यकता है। क्लाइंटलॉगिन के लिए, वे "एएच" (ऐप इंजन) और "रीडर" (Google रीडर) जैसी छोटी स्ट्रिंग हैं। OAuth के लिए, वे प्रत्येक सेवा द्वारा परिभाषित अनुसार, scopes हैं। तो, आप authTokenType पैरामीटर के रूप में क्या गुजर रहे हैं?

टोकन प्राप्त करना असीमित है, क्योंकि इसमें नेटवर्क पहुंच शामिल हो सकती है। यदि कोई कैश किए गए टोकन हैं, तो मान्य होने पर इसे तुरंत वापस कर दिया जाएगा। प्रवाह जटिल नहीं है, सुंदर तस्वीर के लिए उपरोक्त लिंक देखें। एक बार टोकन प्राप्त करने के बाद, आप इसे उचित शीर्षलेख में डालते हैं, और spec के अनुसार API का उपयोग करते हैं।

+0

जैसा कि मैंने कहा था कि मैं अपने मौजूदा Google खाते से उपयोगकर्ता को हस्ताक्षर करना पसंद करूंगा। क्या इन "लघु तारों" पर कोई दस्तावेज है जो समर्थित है जो बताता है? – Bostone

+0

सही शब्द वास्तव में 'सेवा का नाम' है। यह पूरी सूची नहीं है, लेकिन यहां सबसे अधिक है: http://code.google.com/apis/gdata/faq.html#clientlogin। Google सेवाओं को प्रमाणित करने के बारे में सामान्य जानकारी के लिए, आप यहां प्रारंभ करना चाहेंगे: https://developers.google.com/accounts/। एंड्रॉइड का खाता प्रबंधक उन लोगों के लिए एक अग्रभाग है। –

+0

धन्यवाद निकोले।मैं आपका जवाब स्वीकार कर रहा हूं क्योंकि मुझे पूरा यकीन है कि मैं इस बिंदु पर बाकी को समझ सकता हूं – Bostone

4

से जुड़े हुए हैं पर कुछ स्पष्ट विवरण के लिए और अधिक देखने के लिए यहाँ खाता प्रबंधक पर एक Android प्रशिक्षण वर्ग कि मदद दे सकता है:

http://developer.android.com/training/id-auth/authenticate.html

इसके अलावा, Google रीडर के साथ खाता प्रबंधक का उपयोग करना वर्तमान में ऐसा करने का एकमात्र पसंदीदा तरीका है। वेबव्यू के साथ अपने उपयोगकर्ताओं को लॉगिन पेज पर निर्देशित करना बहुत सुरक्षित नहीं है और ब्राउज़र का उपयोग करके Google एपीआई द्वारा समर्थित नहीं है (मुझे यह भी सुनिश्चित नहीं है कि रीडर OAuth2 का उपयोग करता है या नहीं)।

+0

उपयोगी लिंक पास करने की आवश्यकता होती है, उपयोगी लिंक, धन्यवाद – Bostone

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