पर कॉल करने के लिए कैसे करें मैं एक एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं और मुझे "मुझे" जानकारी Google से प्राप्त करने की आवश्यकता है, लेकिन मैं हमेशा किसी भी प्रतिक्रिया में समाप्त होता हूं कोड 401 या 403. मैं क्या गलत कर रहा हूँ?https://www.googleapis.com/plus/v1/people/me पर Google
private static final String GOOGLE_AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/plus.me";
मैं द्वारा (ध्यान दें ... नीचे कोड छोटा है) OAuth टोकन प्राप्त: यहाँ मेरी कोड है
Account googleAccount = (AccountManager) getSystemService(ACCOUNT_SERVICE).getAccountsByType("com.google")[0];
final Bundle bundle = manager.getAuthToken(googleAccount, GOOGLE_AUTH_TOKEN_TYPE, true, null, null).getResult();
String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);
अब तक तो अच्छा है ... मैं अब एक टोकन तो है सब कुछ अच्छा दिखता है।
String GOOGLE_ME_URL = "https://www.googleapis.com/plus/v1/people/me";
final DefaultHttpClient client = new DefaultHttpClient();
final HttpGet request = new HttpGet(GOOGLE_ME_URL);
request.addHeader("Authorization", "OAuth=" + authToken);
final HttpResponse response = client.execute(request);
इससे प्रतिक्रिया कोड 401
मैं भी कोशिश की है:
अब मुझे जानकारी प्राप्त
final DefaultHttpClient client = new DefaultHttpClient();
final HttpGet request = new HttpGet(GOOGLE_ME_URL + "?access_token=" + authToken);
final HttpResponse response = client.execute(request);
यह प्रतिक्रिया कोड 403 देता है - "दैनिक सीमा की तरह कुछ पार हो गया। कृपया साइन अप करें "।
मैं क्या गलत कर रहा हूं? मुझे क्या याद आया? यह कैसे किया जाना चाहिए?
धन्यवाद
नीचे // संपादित करता कुछ और जांच: मैं code.google.com/apis/console में एक परियोजना के लिए जोड़ा है और वहाँ से उत्पन्न होती है और जैसे, यूआरएल में डाल दिया कुंजी ले लिया: https://www.googleapis.com/plus/v1/people/me?key=my_generated_key&access_token= "+ authToken। अब कॉल ठीक काम करता है और मुझे सही जानकारी के साथ 200 प्रतिक्रिया मिलती है। लेकिन मुझे वास्तव में इस विधि का उपयोग नहीं करना है यदि मुझे नहीं करना है और Google के अनुसार मुझे" अगर अनुरोध को प्राधिकरण की आवश्यकता होती है (जैसे किसी व्यक्ति के निजी डेटा के लिए अनुरोध), तो इसमें ओएथ 2.0 टोकन शामिल होना चाहिए। यह भी API कुंजी शामिल हो सकते हैं, लेकिन यह करने के लिए नहीं है। "- developers.google.com/+/api/oauth से
एक और बात:। अगर मैं की तरह एक और यूआरएल की कोशिश " https://www.googleapis.com/oauth2/v1/tokeninfo?access_token= "+ authToken यह ठीक काम करता है
हाय और धन्यवाद का आनंद एक ही मुद्दा तुम सिर्फ गूगल + एपीआई कंसोल में सक्षम करने की आवश्यकता है। क्या आपका मतलब है कि मैं DefaultHttpClient और HttpGet का उपयोग नहीं कर सकता? क्या आप पोस्ट कर सकते हैं इसके बजाय मुझे इसे कैसे करना चाहिए? – user1140596
अन्य https कॉल जैसे एच टी टी पी एस: // डब्लू डब्ल्यू w.googleapis.com/oauth2/v1/tokeninfo?access_token=my_auth टोकन उसी कोड के साथ ठीक काम करता है। मुख्य पोस्ट – user1140596
में मेरा संपादन देखें हां, क्षमा करें आप सही हो सकते हैं। मैं कुछ समय पहले एक प्रमाणपत्र समस्या में भाग गया और यह एक असली परेशानी थी। मुझे इसे काम करने के लिए कुछ चीजें करना पड़ा, लेकिन अब मुझे लगता है कि आपकी समस्या एक और है। रिकॉर्ड्स के लिए, मुझे यह करना है कि मुझे क्या करना है: http://stackoverflow.com/questions/2012497/accepting-a-certificate-for-https-on-android – Scalarr