我试图代表我的应用程序用户发布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)

谢谢。

07-24 09:45