我正在编写一个将照片上传到 facebook 的应用程序。我没有提供专辑 ID,所以专辑是代表我的应用创建的。
我的问题是:如何获取照片上传到的相册 ID?
当我GET
时,专辑中的照片信息没有出现在我希望的 JSON 中。
最佳答案
Jimmy Sawczuk 的答案很接近,但不起作用,因为 FQL 照片表列 aid
和 pid
是 Rest/FQL API id,而不是 Graph API id。
幸运的是object_id
和 album_object_id
此表中的列是可索引的(contrary to the documentation),因此这应该为您提供相册的 Rest/FQL 和图形 ID:
select aid, album_object_id from photo where object_id = ${GRAPH_PHOTO_ID}
一般object_id
Rest/FQL API 响应中的字段是 Graph API id(照片通知除外,它是 Rest/FQL id)。
回复HonkyHonk的回答:不是所有照片link
网址有一个 set
范围;在这种情况下,我认为您可以从其其他参数中找到 Rest/FQL API 照片 ID,然后使用 Rest/FQL API 获取相册 ID:
- 对于具有 32 位用户 ID 的用户:计算
(id << 32) | pid
- 例如 http://www.facebook.com/photo.php?pid=7518353&id=549683637这给出了
2360873244068853905
- 例如 http://www.facebook.com/photo.php?pid=7518353&id=549683637这给出了
- 否则连接
id
,_
和pid
- 例如 http://www.facebook.com/photo.php?pid=155052&id=100002937903251这给出了
100002937903251_155052
- 例如 http://www.facebook.com/photo.php?pid=155052&id=100002937903251这给出了
如果 Facebook 可以记录有关这两种类型的 ID 的信息,那将大有帮助。此外,Graph API 照片架构应包含相册的 Graph API id。
关于Facebook Graph API - 获取相册 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6022425/