2017-01-17 86 views
6

我想代表我的應用程序的用戶發佈360°照片,但我無法弄清楚如何使其工作。使用Javascript圖形API在Facebook上發佈equirectangular 360°全景圖

我裝了Facebook的Javascript圖形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°照片。

非常感謝您的幫助。

+0

你在哪裏傳遞圖像?因爲我也想做同樣的事情。 – Sweety

+1

嗨Sweety,在我的例子中,我將它傳遞給「url」參數:您的照片應該可以通過公共URL訪問。這裏記錄的另一種方法(https://developers.facebook.com/docs/graph-api/photo-uploads)是將它傳遞給POST請求的主體。 – Quent1V

+0

你知道如何使用php發佈360度嗎?正如你已經完成使用JavaScript。因爲當我發佈360圖像時,它顯示簡單的圖像。我嘗試這個參數allow_spherical_photo「:true – Sweety

回答

3

我終於找到了適用於我的問題的工作解決方案:僅放入"allow_spherical_photo": true並刪除spherical_metadata

然後,360°圖片需要對他們的元數據,以便爲Facebook處理以正確地顯示它們(XMP元數據按此處的說明:https://developers.google.com/streetview/spherical-metadata

感謝。