2015-09-11 27 views
0

我使用Facebook的統一SDK 7.0.3測試版,我試圖加載我的個人資料圖片:如何使用Facebook Unity SDK 7.0.3 Beta獲取我的個人資料圖像?

FB.API("/me/picture", HttpMethod.GET, MyPictureCallback); 

MyPictureCallback定義:

void MyPictureCallback(IGraphResult result) 

在以前的版本FBResult類型是代替使用IGraphResult,它有一個Texture屬性。 IGraphResult沒有獲得紋理的屬性。

那麼如何檢索我的個人資料圖像?

感謝

回答

0

您可以使用此方法來生成圖像的URL,然後使用WWW類下載資料圖片本身

public string GetFBPictureURL (string facebookID, int? width = null, int? height = null, string type = null) 
     { 
       string url = string.Format ("/{0}/picture", facebookID); 
       string query = width != null ? "&width=" + width.ToString() : ""; 
       query += height != null ? "&height=" + height.ToString() : ""; 
       query += type != null ? "&type=" + type : ""; 
       query += "&redirect=false"; 
       if (query != "") 
         url += ("?g" + query); 
       return url; 
     } 
0

你必須做到以下幾點:

  1. 添加'this.Texture = result.texture;'到GraphResult構造函數。
  2. Add'public Texture2D Texture {get;私人設置; }'到GraphResult.cs
  3. Add'Texture2D Texture {get; }'到IGraphResult.cs,以及'使用UnityEngine';'

隨着這兩個clases的變化,現在你的IGraphResult將包含你之前擁有的Texture,並且你可以繼續像沒有發生過的事情一樣工作!

讓我知道結果如何。

0

這固定在latest version of the SDK。只需使用IGraphResult中的Texture字段即可。

FB.API("/me/picture", HttpMethod.GET, delegate(IGraphResult result) { 
    if (result.Texture != null) { 
    // use texture 
    } 
}); 
相關問題