मैं प्रमाणीकृत उपयोगकर्ता के लिए जानकारी तक पहुंचने के लिए Google+ API का उपयोग करने का प्रयास कर रहा हूं। मैंने नमूनों में से एक से कुछ कोड कॉपी किए हैं, जो ठीक (नीचे) काम करता है, हालांकि मुझे इसे एक तरह से काम करने में परेशानी हो रही है, मैं ऐप-लॉन्च में टोकन का पुन: उपयोग कर सकता हूं।Google+ एपीआई: मेरा ऐप लॉन्च होने पर हर बार एक्सेस का अनुरोध करने से बचने के लिए मैं रीफ्रेशटोकेंस का उपयोग कैसे कर सकता हूं?
मैंने "रीफ्रेश टोकन" संपत्ति को कैप्चर करने और provider.RefreshToken()
(अन्य चीजों के साथ) का उपयोग करने और हमेशा 400 Bad Request
प्रतिक्रिया प्राप्त करने का प्रयास किया।
क्या कोई यह जानता है कि यह काम कैसे करें, या मुझे पता है कि मुझे कुछ नमूने कहां मिल सकते हैं? Google Code site इस :-(कवर करने के लिए प्रतीत नहीं होता
class Program
{
private const string Scope = "https://www.googleapis.com/auth/plus.me";
static void Main(string[] args)
{
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
provider.ClientIdentifier = "BLAH";
provider.ClientSecret = "BLAH";
var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthentication);
var plus = new PlusService(auth);
plus.Key = "BLAH";
var me = plus.People.Get("me").Fetch();
Console.WriteLine(me.DisplayName);
}
private static IAuthorizationState GetAuthentication(NativeApplicationClient arg)
{
// Get the auth URL:
IAuthorizationState state = new AuthorizationState(new[] { Scope });
state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
Uri authUri = arg.RequestUserAuthorization(state);
// Request authorization from the user (by opening a browser window):
Process.Start(authUri.ToString());
Console.Write(" Authorization Code: ");
string authCode = Console.ReadLine();
Console.WriteLine();
// Retrieve the access token by using the authorization code:
return arg.ProcessUserAuthorization(authCode, state);
}
}
तुम भी त्रुटि दिखाई दे रहा है जब रीफ्रेश टोकन का उपयोग समाप्ति तिथि से पहले किया जाता है? यदि हां, तो क्या यह संभव है कि आप एक ही बार रीफ्रेश टोकन का उपयोग करने की कोशिश कर रहे हों? –
मुझे वास्तव में पता नहीं है कि मुझे इसका उपयोग कैसे करना है - मैं बस अनुरोध से ताज़ा टोकन को यादृच्छिक रूप से पकड़ रहा था और फिर रीफ्रेश टोकन विधि का उपयोग कर रहा था। मुझे वास्तव में कोई दस्तावेज नहीं मिल रहा है कि इसे कैसे काम करना चाहिए, इसलिए यह संभव है कि मैं इसे गलत तरीके से उपयोग कर रहा था। यही वह है जिसे मैं समझने की कोशिश कर रहा हूं :-( –
@DannyTuppeny क्या आपने इसे हल किया है? यदि नहीं, तो क्या आपने मेरा जवाब देखा है? मुझे आपके जैसा ही समस्या थी, और मुझे गुगलिंग से कोई अच्छा दस्तावेज नहीं मिला, लेकिन मैं मुझे लगता है कि मैंने समस्या हल की है। – poplitea