是否可以在另一个网站内显示使用Facebook应用程序(由用户上传到用户的facebook画廊)制作的图像?
答案 0 :(得分:1)
是的,这是可能的,但用户必须授权您访问他们的照片。
您可以通过获得扩展权限来执行此操作:
$uid = $facebook->getUser();
$url = $facebook->getLoginUrl(array(
'req_perms' => 'user_photos' ));
答案 1 :(得分:1)
您可以检索她已使用其他应用上传的当前用户的图片。当前用户需要使用访问令牌登录,您需要
read_stream
user_photos
权限。
您可以使用FQL查询和一些客户端解析来检索照片的网址:
首先,在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表示照片。它可以为你节省一些客户端的工作(两个看起来很乱,也许有人可以提出更好的陈述......)。
获得响应后,解析JSON。每个“附件”都有一个名为“media”的字段,它是一个数组。对于每个数组项,检查type =“photo”。如果是,则“src”字段将包含指向上传照片的小版本的URL链接。
为了说明,这是JSON响应示例的开始:
"attachment": {
"media": [
{
"type": "photo",
"src": "https://...._s.jpg",
//etc
JSON响应还包含指向其他大小的链接。
有关流表格的详细信息,请参阅Facebook Developers docs。