是否可以在另一个网站内显示使用 facebook 应用程序制作的图像(由他们上传到用户的 facebook 画廊)?
问问题
144 次
2 回答
1
是的,这是可能的,但用户必须授权您访问他们的照片。
您可以通过获得扩展权限来做到这一点:
$uid = $facebook->getUser();
$url = $facebook->getLoginUrl(array(
'req_perms' => 'user_photos' ));
于 2012-04-23T12:28:37.633 回答
1
您可以检索当前用户使用另一个应用程序上传的图像。当前用户需要使用访问令牌登录,您需要
read_stream
user_photos
权限。
您可以使用 FQL 查询和一些客户端解析来检索照片的 url:
首先,查询 FQL 流表以获取字段“app_id”= 其他应用程序 ID 的流帖子附件。
SELECT attachment FROM stream WHERE source_id=me() AND app_id=OTHER_APP_ID
这会检索使用其他应用完成的所有帖子的附件。
查询可能会进一步缩小,如下所示,但我没有数据集来测试它:
SELECT attachment FROM stream WHERE source_id=me() AND app_id=OTHER_APP_ID AND type=247
其中 247 表示照片。它可以为您节省一些客户端工作(这两个 AND 看起来很骇人,也许有人可以提出更好的说法......)。
得到响应后,解析 JSON。每个“附件”都有一个名为“媒体”的字段,它是一个数组。对于每个数组项,检查 type="photo"。如果是,“src”字段将包含一个指向上传照片的小版本的 url 链接。
为了说明,这里是示例 JSON 响应的开头:
"attachment": {
"media": [
{
"type": "photo",
"src": "https://...._s.jpg",
//etc
JSON 响应还包含指向其他大小的链接。
有关流表的更多信息,请参阅Facebook 开发者文档。
于 2012-04-26T16:33:12.813 回答