【发布时间】:2017-01-17 17:36:53
【问题描述】:
我正在尝试代表我的应用用户发布 360° 照片,但我不知道如何让它发挥作用。
我加载了 Facebook Javascript Graph API,使用“publish_actions”范围记录用户,并使用以下代码使用 equirectangular 投影发布图片:
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° 照片。
提前感谢您的帮助。
【问题讨论】:
-
你在哪里传递图像?因为我也想这样做。
-
嗨,亲爱的,在我的示例中,我通过“url”参数传递它:您的照片应该可以通过公共 URL 访问。此处记录的另一种方法 (developers.facebook.com/docs/graph-api/photo-uploads) 是将其传递到 POST 请求的正文中。
-
你知道如何使用php发布360度吗?正如您使用 javascript 所做的那样。因为当我发布 360 度图像时,它会显示简单的图像。我试试这个参数 allow_spherical_photo": true
-
正如我在答案中所说,发布的图像包含正确的元数据很重要。如果您成功发布了一张图片,但它没有显示为 360 全景,可能是因为元数据不正确。
-
我使用了你的 ansered 代码。如何将元数据添加到图像。因为我使用onlie EXif软件将图像转换为360度。当我直接在facebook上发布360度图像时。它显示全景图像。请帮帮我
标签: javascript facebook facebook-graph-api 360-panorama