2017-03-17 42 views
0

我有搜索一些關於從facebok sdk獲取URL的線程。但我仍然不明白它是如何工作的。我懷疑它與最新的Facebook SDK 7.9相同。問題關於Facebook SDK。 Facebook圖片網址是否會更改每個登錄?如何從Facebook SDK獲取圖像URL和Facebook ID 7.9在Unity C#中?

URL Facebook圖像每次登錄都始終相同嗎?或者它會改變?如果它總是相同的,那麼我可以將它存儲到數據庫中,我可以根據需要調用,而無需再次獲取URL。

and

在facebook SDK 7.9中,我找不到任何調用Facebook ID的函數。 FB.AppId是Facebook用戶ID嗎?

Facebook ID總是每次登錄都一樣嗎?

我需要在排行榜中顯示所有圖片的facebook。所以我需要從Facebook的圖像網址。

這樣做的最佳方法是什麼?

如何檢索可以保存到數據庫的圖像url?

還是有什麼如果我們可以得到Facebook ID或我們有Facebook ID,我們可以從Facebook ID調用圖片URL,即使我們沒有登錄?

有人可以向我解釋嗎?

感謝

丹尼斯

+0

我假設你在說這裏的用戶的個人資料圖像? https://developers.facebook.com/docs/graph-api/reference/user/picture // Facebook的CDN網址被認爲是短暫的,他們可以隨着時間的推移而改變,一旦工作的網址可能失效。因此,使用自動重定向響應的API調用是最容易做的事情。如果您想將圖像存儲在您的最終目錄中,那麼如果用戶選擇新的個人資料圖片或刪除現有圖片,則您有責任保持它們的最新狀態。 – CBroe

+0

好的。我看到你明白我的問題。那麼如何獲得圖像文件?我需要將它保存到雲端。它用於在排行榜上顯示個人資料圖片。 –

+0

爲什麼你需要將它保存到雲端?你在哪裏以及如何顯示它?爲什麼會自動重定向到CDN位置的API URL不夠? – CBroe

回答

2

只需使用此代碼檢索當前的頭像:

FB.API("/me/picture?redirect=false", HttpMethod.GET, ProfilePhotoCallback); 

private void ProfilePhotoCallback (IGraphResult result) 
    { 
     if (string.IsNullOrEmpty(result.Error) && !result.Cancelled) { 
      IDictionary data = result.ResultDictionary["data"] as IDictionary; 
      string photoURL = data["url"] as string; 

      StartCoroutine(fetchProfilePic(photoURL)); 
     } 
    } 

    private IEnumerator fetchProfilePic (string url) { 
     WWW www = new WWW(url); 
     yield return www; 
     this.profilePic = www.texture; 

     //Construct a new Sprite 
     Sprite sprites = new Sprite();  

     //Create a new sprite using the Texture2D from the url. 
     //Note that the 400 parameter is the width and height. 
     //Adjust accordingly 

     sprite = Sprite.Create(www.texture, new Rect(0, 0, 50 ,50), Vector2.zero); 
     sprites = Sprite.Create(www.texture, new Rect(0, 0, 50 ,50), Vector2.zero); 

    } 

和Retriving其他玩家的個人資料圖片,你必須先知道用戶ID。

這裏是檢查用戶ID代碼:

Facebook.Unity.AccessToken.CurrentAccessToken.UserId 

使用後:

FB.API ("/" + userid + "/picture?redirect=false", HttpMethod.GET, ProfilePhotoCallback); 

以檢索選定的用戶ID資料圖片。