我正在使用Yaniv Inbar的GData
客户端从Android应用访问Picasa相册。我通过
AccountManager.getAuthToken(account, "lh2", null, activity, null, null);
可以获取用户和相册Feed,以及下载和上传图片。我不能做的是PicasaClient.executeDelete(Entry)
- 尽管使用了getFeed和上传/下载操作使用的完全相同的身份验证,它仍然会给我403错误。
我是否需要设置client_id
和client_secret
进行删除但不能获取/放置?如果是的话,在哪里?
Authenticating to OAuth2 Services显示
URL url = new URL("https://www.googleapis.com/tasks/v1/users/@me/lists?key=" + your_api_key);
URLConnection conn = (HttpURLConnection) url.openConnection();
conn.addRequestProperty("client_id", your client id);
conn.addRequestProperty("client_secret", your client secret);
conn.setRequestProperty("Authorization", "OAuth " + token);
但我在堆栈中的任何地方都看不到URLConnection
。我猜测钩子将在
authToken = authBundle.getString(AccountManager.KEY_AUTHTOKEN);
ClientLogin.Response clientLogin = new ClientLogin.Response();
clientLogin.auth = authToken;
......但在哪里并不明显。
答案 0 :(得分:1)
叹息。这是100%的医源性。
我使用“编辑”链接创建了条目,如
https://picasaweb.google.com/data/entry/api/user/%s/albumid/%s/photoid/%s
但将etag
设置为null
,因为我在专辑Feed中获得的etags似乎会以某种方式被截断。
我一更换
photoEntry.etag = null;
与
photoEntry.etag = "*";
一切都很顺利。