Я пытаюсь использовать API Google+ для доступа к информации для аутентифицированного пользователя. Я скопировал код из одного из образцов, который отлично работает (ниже), однако у меня возникают проблемы с его работой, чтобы я мог повторно использовать токен в приложениях.
Я попытался захватить свойство RefreshToken и использовать provider.RefreshToken()
(между прочим) и всегда получать ответ 400 Bad Request
.
Кто-нибудь знает, как сделать эту работу, или знать, где я могу найти образцы? сайт Google Code, похоже, не охватывает этого: - (
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);
}
}