У нас есть проблема с новой PicasaWeb аутентификацииpicasaweb.google.com OAuth 2,0
Мы используем этот код в C# .NET 2012 (Framework 4.5.1)
const string ServiceAccountEmail = "[email protected]";
var certificate = new X509Certificate2(@"C:\key.p12", "notasecret", X509KeyStorageFlags.Exportable);
var serviceAccountCredentialInitializer =
new ServiceAccountCredential.Initializer(ServiceAccountEmail)
{
Scopes = new[] { "https://picasaweb.google.com/data/"}
}.FromCertificate(certificate);
var credential = new ServiceAccountCredential(serviceAccountCredentialInitializer);
if (!credential.RequestAccessTokenAsync(System.Threading.CancellationToken.None).Result)
throw new InvalidOperationException("Access token request failed.");
var requestFactory = new GDataRequestFactory(null);
requestFactory.CustomHeaders.Add("Authorization: Bearer " + credential.Token.AccessToken);
requestFactory.CustomHeaders.Add("Gdata-version: 2");
PicasaService service = new PicasaService("api-project");
service.RequestFactory = requestFactory;
PhotoQuery query = new PhotoQuery(PicasaQuery.CreatePicasaUri(_IdUsuari, _albumid));
PicasaFeed feed = service.Query(query);
У нас есть ошибка для получения PicasaFeed: Необработанное исключение: Google.GData.Client.GDataRequestException: Выполнение запроса Aut hentication вернулся неожиданный результат: 404
Мы сделали каждый шаг по ссылке: Google.GData.Client.GDataRequestException - Authentication suddenly fails in old code B ut это не сработало, это то, что мы используем 4.5.1, а не 4.5?
Мы сделали несколько тестов, генерирующего маркер из страницы Google: https://developers.google.com/oauthplayground
Мы выбрали Picasa Web API v2 с областью: https://picasaweb.google.com/data/
Это вызвало маркер. Мы пометили опцию «Автообновление токена до истечения срока действия» по истечении 3600 секунд. Вопрос в том, меняется ли этот токен через 3600 секунд? , С жетона генерируется из этой ссылки мы заменили предыдущий код, в котором «XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX» является лексема генерироваться:
var requestFactory = new GDataRequestFactory(null);
requestFactory.CustomHeaders.Add("Authorization: Bearer " + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
requestFactory.CustomHeaders.Add("Gdata-version: 2");
PicasaService service = new PicasaService("api-project");
service.RequestFactory = requestFactory;
PhotoQuery query = new PhotoQuery(PicasaQuery.CreatePicasaUri(_IdUsuari, _albumid));
PicasaFeed feed = service.Query(query);
И с этим маркером, если он работает. Любые мысли о том, что первый код, сгенерированный кодом токена, не работает должным образом для создания токенов и показаний в Picasa. У кого-нибудь есть решение?
Большое спасибо
токенов доступа истекает после 3600 это нормально – DaImTo