我试图代表我的应用程序用户发布360°照片,但我不知道如何使它工作。
我加载了Facebook Javascript Graph API,使用“publish_actions”范围登录了用户,并使用以下代码通过等角投影来发布图片:
FB.api(
"/me/photos",
"POST",
{
"url": "MY_PUBLIC_URL",
"allow_spherical_photo": true,
"spherical_metadata": {
"ProjectionType": "equirectangular",
"CroppedAreaImageWidthPixels": 240,
"CroppedAreaImageHeightPixels": 240,
"FullPanoWidthPixels": 1962,
"FullPanoHeightPixels": 981,
"CroppedAreaLeftPixels": 981,
"CroppedAreaTopPixels": 490
}
}, function (response) {
console.log(response); // I get "{"id":"...", post_id:"..."} so no error
if (response && !response.error) {
/* handle the result */
}
}
);
它在当前用户的时间轴上正确发布,但显示为“正常”图片,而不是360°全景图。
有人实现了360°全景发布功能吗?
我的照片应该具有正确的比例(2:1),并且是正确的360°照片。
预先感谢您的帮助。
最佳答案
我终于找到了解决该问题的可行解决方案:仅放入"allow_spherical_photo": true
并删除spherical_metadata
。
然后,360°图片需要在其上具有元数据,以便Facebook处理能够正确显示它们(XMP元数据,如此处所述:https://developers.google.com/streetview/spherical-metadata)
谢谢。