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, callback) 删除请求。我在尝试删除特定请求时收到此错误

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

下面是我使用的确切代码

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");
}

现在我得到了正确的所有调试,除了最后一个没有在任何地方打印。

Debug.Log("礼品请求删除确认");

当我观察更多时,我发现

网络错误:java.io.FileNotFoundException:https ://graph.facebook.com/MY_REQUEST_ID?access_token=ACCESS_TOKEN

而如果我跑

https://graph.facebook.com/MY_REQUEST_ID?accesstoken=ACCESSTOKEN 在浏览器中它为我提供了正确的应用请求详细信息。

4

3 回答 3

2

我遇到了你提到的同样的问题。它只发生在我的 Android 上,而不是 iOS 上。我使用了一个简单的解决方法:

FB.API ("/" + requestID + "?method=delete", Facebook.HttpMethod.GET, LogCallback);
于 2013-09-23T20:03:53.440 回答
1

这是 Facebook Unity SDK 中的一个错误。正如 Aaron 所说,它将在下一个版本的 sdk 中修复。如果其他人急于实现它,他们可以尝试@aaron 在评论中提供的最新 sdk。但请记住,它尚未经过大量测试,直到现在还没有公开。

于 2013-09-24T12:51:31.330 回答
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 参数传递。您也可以省略 access_token 参数,因为如果 Facebook SDK 不存在,它会注入它获得的参数,所以这应该也可以: FB.API("/"+giftResponse["data"][0]["id"].Value, HttpMethod.DELETE, GiftConfirmCallback);

更新: Http.Method.DELETE 问题已在最新版本中修复

于 2013-09-23T18:47:40.790 回答