मैं एक्सेस टोकन के लिए एक बार Google प्लस प्राधिकरण कोड का आदान-प्रदान करने की कोशिश कर रहा हूं। लेकिन मुझे 400 खराब अनुरोध मिल रहा है। मैं वीबी.नेट का उपयोग कर रहा हूं।Google एपीआई टोकन एंडपॉइंट POST रिटर्न खराब अनुरोध 400
'We should now have a "good" one-time authorization code stored in "code"
Using Client As New WebClient()
'Dim Client As New WebClient()
Dim values As New NameValueCollection()
Dim Resp
Dim responseString As String
values("code") = Request.QueryString("code")
values("client_id") = ConfigurationManager.AppSettings("google.clientid")
values("client_secret") = ConfigurationManager.AppSettings("google.clientsecret")
values("grant_type") = "authorization_code"
values("redirect_uri") = "http://localhost:3333/MyVacations/default.aspx"
Resp = Client.UploadValues("https://www.googleapis.com/oauth2/v3/token", values)
responseString = Encoding.Default.GetString(Resp)
End Using
मैं बहुत यकीन है कि यह अंत बिंदु मैं https://www.googleapis.com/oauth2/v3/token लेकिन कौन जानता है का उपयोग करते हुए होना चाहिए कर रहा हूँ है हूँ: यहाँ कोड है? Google Discovery Document बस मेरे लिए यह हलचल करता है।
मेरे नाइवेट को क्षमा करें, लेकिन क्या कोई यह बताएगा कि Google के उदाहरण के रूप में POST कोड का उपयोग कैसे किया गया है, ऊपर दिए गए मेरे कोड में वेब अनुरोध से संबंधित है? मुझे लगता है कि मैं समझता हूं कि मान कैसे अनुवाद करते हैं, लेकिन पोस्ट (नीचे) में 3 हेडर लाइनें ... यह वीबी कोड में कैसे निर्दिष्ट होता है? मुझे ऐसा कुछ याद आ रहा है जो दूसरों के लिए वास्तव में स्पष्ट होना चाहिए ताकि यदि आप जानते हैं, तो कृपया मुझे बताएं।
POST /oauth2/v3/token HTTP/1.1
Host: www.googleapis.com
Content-Type: application/x-www-form-urlencoded
code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&
client_id=8819981768.apps.googleusercontent.com&
client_secret={client_secret}&
redirect_uri=https://oauth2-login-demo.appspot.com/code&
grant_type=authorization_code
एक और Stack Overflow Post कहते क्वेरी पैरामीटर के रूप में डेटा भेजने के बारे में कुछ (का उपयोग करते हुए '&' मुझे लगता है कि) के बजाय अनुरोध हेडर के रूप में डाटा भेजने, इसलिए वहाँ कुछ एक NameValueCollection साथ भेजने के साथ गलत क्या है?
क्या आपका redirect_uri प्राधिकरण कोड प्राप्त करने के लिए उपयोग किए गए मान से मेल खाता है? –
POST द्वारा लौटाई गई प्रतिक्रिया के अनुसार, मुझे एक uri_redirect_mismatch मिलता है, इसलिए आप सही हैं। लेकिन मैंने यूआरएल को सीधे मेरे कोड में डेवलपर कंसोल से कॉपी और पेस्ट किया है और इसके विपरीत मुझे यह नुकसान हुआ है कि यह क्यों हो रहा है। –