मैं एक नया "पहुँच टोकन" प्राप्त करने के लिए "टोकन ताज़ा" डेटाबेस में बचाया के आधार पर चाहते हैं।(जावा) गूगल एपीआई विश्लेषिकी - नए "पहुँच टोकन" प्राप्त करने के लिए "ताज़ा टोकन" का उपयोग नहीं कर पा
com.google.api.client.auth.oauth2.TokenResponseException: 400 गलत
अनुरोध
GoogleCredential.Builder credentialBuilder = new GoogleCredential.Builder() .setTransport(HTTP_TRANSPORT).setJsonFactory(JSON_FACTORY) .setClientSecrets(CLIENT_ID, CLIENT_SECRET); credentialBuilder.addRefreshListener(new MyCredentialRefreshListener()); credential = credentialBuilder.build(); credential.setRefreshToken("saved_refresh_token_from_database"); try { credential.refreshToken(); } catch (IOException e) { e.printStackTrace(); } class MyCredentialRefreshListener implements CredentialRefreshListener { public void onTokenResponse(Credential cr, TokenResponse tr) { System.out.println("Credential was refreshed successfully."); } public void onTokenErrorResponse(Credential cr, TokenErrorResponse tr) { System.out.println(tr); } }
मैं यह संदेश प्राप्त:
यहाँ कोड मैंने लिखा है {"त्रुटि": "invalid_grant"}
मैं उसी CLIENT_ID का उपयोग करता हूं, CLIE एक PHP स्क्रिप्ट में NT_SECRET और "रीफ्रेश टोकन" और वहां "एक्सेस टोकन" का उपयोग करके "रीफ्रेश टोकन" का उपयोग करके नया "एक्सेस टोकन" प्राप्त करने में कामयाब रहा।
मैं javadoc.google-oauth-java-client के आधार पर कोड लिखा था।
किसी भी यहाँ व्यक्ति जानता है कि कैसे नई पहुँच टोकन प्राप्त करने के लिए कोड को संशोधित करने?
अग्रिम धन्यवाद।
अपडेट: समस्या यह थी कि मैं डेटाबेस में एक JSON_decode किए बिना refresh_token में सहेज रहा था और इसमें "\" है जिसे JSON में बच निकले चरित्र माना जाता है।
मैंने आपके कोड की कोशिश की, और यह मेरे लिए काम किया। मुझे लगता है कि यह आपके ताज़ा टोकन के साथ एक डेटा/प्रारूप मुद्दा था। – user1697575