2013-09-23 26 views
1

我在我的統一遊戲中使用Facebook的官方sdk統一。我可以使用FB.AppRequest和FB.API(/ USER_ID/apprequests,Facebook.HttpMethod.GET,MY_Callback)發送/獲取請求,我也可以使用FB.API(/ REQUEST_ID,Facebook。 HttpMethod.GET,回調)。但我無法使用FB.API(/ Request_Id,Facebook.HttpMethod.DELETE,回調)刪除請求。而試圖刪除的確切的代碼我使用無法使用Http.Method.DELETE在Facebook的sdk中刪除apprequest的Unity

FB.API("/"+FB.UserId+"/apprequests", Facebook.HttpMethod.GET, GiftCallback); 
function GiftCallback(response:String){ 
Debug.Log(response); 
var giftResponse = JSON.Parse(response); 


if (giftResponse["data"][0]["data"].Value == "life"){ 
    Debug.Log("Life request found"); 
    FB.API("/"+giftResponse["data"][0]["id"].Value+"?access_token=Access_TOKEN", HttpMethod.DELETE, GiftConfirmCallback); 
    Debug.Log("Delete request has been called"); 
    Debug.Log("Request id is"+giftResponse["data"][0]["id"].Value); 
} else { 
    Debug.Log("No life request found"); 
} 
} 
function GiftConfirmCallback(response:String){ 
Debug.Log("Gift Request delete confirmation"); 
} 

現在我讓所有的(1)調試正確,除了最後一個未得到一個特定請求

09-23 17:45:05.798: E/Unity(3235): Web Error: java.io.FileNotFoundException: https://graph.facebook.com/MY_REQUEST_ID

下面我得到這個錯誤隨處印刷。

Debug.Log("Gift Request delete confirmation");

,當我發現我越發現

Web Error: java.io.FileNotFoundException: https://graph.facebook.com/MY_REQUEST_ID?access_token=ACCESS_TOKEN

而如果我運行

https://graph.facebook.com/MY_REQUEST_ID?accesstoken=ACCESSTOKEN in browser it gives me the correct apprequest details.

+0

您是否正在使用完整的單個請求標識「 _ ',如文檔中所述...? – CBroe

+1

@Rohit:這裏有一個解決方案,我們還沒有完成一整套測試,但我不想阻止你取得進展。隨意抓住這個,讓我知道它是否可以解決您的問題:http://unite-friend-smash.parseapp.com/v4.2.4/FacebookSDK.unitypackage – aaron

+0

@aaron感謝它在我的Android設備上工作。雖然它在unity編輯器中給我nullreferenceexception 這些是錯誤: NullReferenceException:Facebook對象尚未加載。你叫FB.Init()嗎? (在資產/插件/ FBScript/FB.cs:23) FB.get_FacebookImpl()(在Assets/Plugins/FBScript/FB.cs:23) FB.Login(System.String scope,Facebook.FacebookDelegate回調) Facebook_Implementation.Start()(在資產/ Facebook_Implementation.js:54) NullReferenceException:對象引用未設置爲對象的實例 –

回答

1

這是Facebook Unity SDK中的一個錯誤。正如Aaron所提到的,它將在下一版的sdk中得到修復。如果其他人急於實施它,他們可以在評論中嘗試@aaron提供的最新sdk。但請記住,它尚未經過很多測試,至今尚未公開。

1

FB.API("/"+giftResponse["data"][0]["id"].Value+"?access_token=Access_TOKEN", HttpMethod.DELETE, GiftConfirmCallback);

您是不是要做到這一點呢? FB.API("/"+giftResponse["data"][0]["id"].Value+"?access_token="+Access_TOKEN, HttpMethod.DELETE, GiftConfirmCallback);

現在,您的代碼將密鑰/值access_token =「Access_TOKEN」作爲url參數傳遞。您也可以離開了Facebook的SDK,因爲PARAM的access_token將注入它得到了,如果它不存在的人,所以這應該工作,以及: FB.API("/"+giftResponse["data"][0]["id"].Value, HttpMethod.DELETE, GiftConfirmCallback);

更新:在Http.Method.DELETE問題已經固定在最新版本

2

我遇到了同樣的問題。它只發生在我的Android上,但不是iOS。我使用了一個簡單的解決方法:

FB.API ("/" + requestID + "?method=delete", Facebook.HttpMethod.GET, LogCallback); 
相關問題