我一直在使用picasa客户端登录几年没有问题。我们使用它来存储用户上传的照片,因此我们不想要求用户身份验证,因为我们只是将照片存储在我们自己的帐户中。它是在.NET中开发的。
到目前为止,它一直有效,我无法解决(并开始徘徊,现在是否可能)如何解决问题。
上一个代码:
PicasaService service = new PicasaService("My App");
service.setUserCredentials("myemail@gmail.com", "password");
Uri postUri = new Uri(PicasaQuery.CreatePicasaUri("default", AlbumID));
string sContentType = "image/jpeg";
PicasaEntry entry = (PicasaEntry)service.Insert(postUri, fileStream, sContentType, sFilename);
fileStream.Close();
sPicasaURL = entry.Media.Content.Url.ToString();
使用Auth2的新代码(不起作用!) - 我已经进入开发者控制台并设置了客户端ID。我在我的应用程序中使用P12键来获取访问代码。
Uri postUri = new Uri(PicasaQuery.CreatePicasaUri("default", AlbumID));
const string ServiceAccountEmail = "email@developer.gserviceaccount.com";
var certificate = new X509Certificate2(HttpContext.Current.Server.MapPath("bin/key2.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);
PicasaService service = new PicasaService("My App");
service.RequestFactory = requestFactory;
string sContentType = "image/jpeg";
PicasaEntry entry = (PicasaEntry)service.Insert(postUri, fileStream, sContentType, sFilename);
fileStream.Close();
sPicasaURL = entry.Media.Content.Url.ToString();
有人可以帮忙吗?
我得到:
“远程服务器返回错误:(404)Not Found。”错误。
{“执行请求失败:https://picasaweb.google.com/data/feed/api/user/default/albumid/myalbumid”}
即使现在可以使用clientlogin这种类型的登录吗?
提前致谢!
答案 0 :(得分:0)
您需要检查2天前谷歌启用的新OAuth2身份验证协议。
不推荐使用ClientLogin API,不再使用...
我目前正在努力解决同样的问题,并将很快发布我的示例Java代码。
干杯, 小物件
答案 1 :(得分:-1)
获取https://picasaweb.google.com/data/feed/api/user/userID?deprecation-extension=true
“ deprecation-extension”:“ true”