Tôi đang cố gắng sử dụng API Google+ để truy cập thông tin cho người dùng được xác thực. Tôi đã sao chép một số mã từ một trong các mẫu, hoạt động tốt (dưới đây), tuy nhiên tôi gặp sự cố khi làm cho nó hoạt động theo cách tôi có thể sử dụng lại mã thông báo trên các lần khởi chạy ứng dụng.API Google+: Làm cách nào để tôi có thể sử dụng RefreshTokens để tránh yêu cầu quyền truy cập mỗi khi ứng dụng của tôi khởi chạy?
Tôi đã thử chụp thuộc tính "RefreshToken" và sử dụng provider.RefreshToken()
(trong số những thứ khác) và luôn nhận được phản hồi 400 Bad Request
.
Có ai biết cách thực hiện tác phẩm này hay không, hoặc biết nơi tôi có thể tìm thấy một số mẫu? Các Google Code site dường như không che :-(này
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);
}
}
bạn có nhìn thấy các lỗi ngay cả khi mã thông báo làm mới được sử dụng trước ngày hết hạn? Nếu có, bạn có thể sử dụng cùng một mã thông báo làm mới nhiều lần không? –
Tôi không thực sự biết làm thế nào tôi phải sử dụng nó - Tôi đã chỉ ngẫu nhiên lấy mã thông báo Refresh từ yêu cầu và sau đó sử dụng phương thức RefreshToken. Tôi thực sự không thể tìm thấy bất kỳ tài liệu nào về cách nó hoạt động, vì vậy có thể tôi đã sử dụng nó không chính xác. Đó là những gì tôi đang cố gắng tìm ra :-( –
@ DannyTuppeny Bạn đã giải quyết điều này chưa? Nếu không, bạn đã xem câu trả lời của tôi chưa? Tôi đã gặp vấn đề tương tự như bạn, và không tìm thấy tài liệu tốt bằng cách googling, nhưng tôi – poplitea