我的应用会为您朋友的Facebook图像创建视频剪辑。
该应用程序要求权限:
用户在浏览器中选择要使用Javascript添加到蒙太奇的图片。然后我将所选图像的URL传递给服务器,服务器从URL下载图像并将其存储在Amazon S3上。
一切都在客户端上运行,始终适用于朋友个人资料图片。但对于其他图像,即来自相册或以前的个人资料照片的图像,我的服务器根本无法下载图像。
使用cURL,返回的状态代码为0.对于其他图像,代码为200。
如何获取对这些图像的访问权限?服务器是否需要传递一些其他数据才能访问CDN图像?
从我的JS传递的图片网址是长链接,如下所示:http://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash4/s720x720/408158_894440624792_192203432_41161655_469457024_n.jpg (虽然这不是真正的图像链接)
我可以在浏览器中打开图片,但不能在服务器端打开它们。
我正在使用PHP-SDK,因此服务器通过Facebook为登录用户进行身份验证。我知道这是正确的,因为我尝试了多个帐户并检查了当前登录的用户ID。
要下载,我尝试过cURL,file_get_contents和其他一些方法。一切都没有收到,因此我不认为Facebook正在让我的服务器访问图片。
奇怪的是,这个问题似乎只会影响一些用户,而不是每个人。
另外 - 我的服务器是PHP 5.2并且在IIS上运行。
任何帮助都会很棒!
更多信息: 我尝试使用其他用户帐户登录时访问该网址,某人不是该照片所有者的朋友,他们也可以在浏览器中看到该图片。奇怪,我的服务器不能。
答案 0 :(得分:0)
因为这个问题只发生在Facebook用户的一个子集上,所以我觉得在授予图像权限的方式中可能存在某个错误。
这意味着JS API和PHP API之间存在细微的差异,仅适用于某些图像,仅适用于某些用户。
但是,我现在调整了我的代码,以另一种方式获取图像,因此不再有这个问题。