पर टोकन रीफ्रेश करें और रीफ्रेश करें IAuth2 और Google क्लाइंट लाइब्रेरी का उपयोग करके Google एपीआई (कैलेंडर एपीआई से शुरू) तक पहुंचने वाला ऐप विकसित कर रहा है (Appengine और GWT पर है BTW)।ऑफ़लाइन टोकन कैसे प्राप्त करें और Google API
मैंने अपना OAuth2Call
बैक सर्वलेट लागू किया है, जो Google AbstractAppEngineAuthorizationCodeCallbackServlet
को विस्तारित करता है। स्पष्ट रूप से अनुरोध कर रहा ऑफ़लाइन पहुँच के बावजूद,
1) मैं एक ताज़ा टोकन प्राप्त नहीं है::
मैं यह काम कर रहा है, मैं पहुँच जाते हैं और कैलेंडर आदि देख सकते हैं, लेकिन दो समस्याएं हैं
public static GoogleAuthorizationCodeFlow newFlow(String scope) throws IOException {
GoogleAuthorizationCodeFlow.Builder builder = new GoogleAuthorizationCodeFlow.Builder(
HTTP_TRANSPORT,
JSON_FACTORY,
getClientSecrets(),
Collections.singleton(scope));
builder.setCredentialStore(new AppEngineCredentialStore()).setAccessType("offline");
return builder.build();
}
2) मैं नहीं देख सकता कि स्वचालित रीफ्रेश कार्यक्षमता कैसे सेट करें। इन पृष्ठों तरीकों की व्याख्या:
लेकिन मैं जहां ताज़ा श्रोता जोड़ने के लिए नहीं देख सकता। GoogleAuthorizationCodeFlow.Builder
कक्षा में ऐसी कोई विधि Credential.Builder
वर्ग
संपादित कोड अधिक डिबगिंग के बाद के विपरीत, जब क्रेडेंशियल (onSuccess()
विधि में) वापस आता है यह पहले से ही एक RefreshListener
सेट करने लगता है, नहीं है ..... तो हो सकता है कि यह डिफ़ॉल्ट रूप से उनका हो, और मेरी एकमात्र समस्या यह है कि मुझे इसके लिए पूछने के बावजूद refresh_token
नहीं मिल रहा है।
शायद Google API कंसोल में सेटिंग्स की समीक्षा करने की आवश्यकता है?
टिप्पणी के लिए धन्यवाद, मैं इन पंक्तियों के साथ जांच करूंगा। फिलहाल, मैं टोकन का एक स्पष्ट निरसन करता हूं, और उसके बाद फिर से अनुरोध करता हूं और मैं हमेशा उपयोगकर्ता के लिए स्पष्ट स्वीकृति स्क्रीन से गुज़रता हूं - लेकिन फिर भी इसे रीफ्रेश_टोकन नहीं मिलता है। –
vlatko, मैं आपके द्वारा जो कुछ भी कहा था * कर रहा था * तत्काल बल को छोड़कर, और ऐसा लगता है कि इसे ठीक कर दिया गया है! तो, आपके जवाब की बहुत सराहना की गई थी! क्या यह एक बग है, या सिर्फ एक चमकदार चूक (बहुत व्यापक ...) दस्तावेज से? –