2014-03-31 261 views
4

通过开发一些错误,以便采取自定义操作时,Facebook的一个请求失败(如强制本地用户注销或要求新的许可)处理我的Unity应用中的代码,我看到了Facebook Graph API (Handling error codes)文档之间有一些不一致我收到失败请求的结果。处理错误代码

当尝试后的得分(Scores API)但不授予写入权限,我的申请,请求分配回调接收包含FBResult

result.Error == "403 Forbidden" 

,而不是其他有关:

result.Error == { 
    "error": { 
     "message": "API Permission Denied", 
     "type": "", 
     "code": 10 , 
     "error_subcode": 467 
    } 
} 

:当寻找到FB样品 friendsmash-unity他们只在下面的代码片段呈现忽略错误
void APICallback(FBResult result) 
{ 
    Util.Log("APICallback"); 
    if (result.Error != null) 
    { 
     Util.LogError(result.Error); 
     // Let's just try again 
     FB.API("/me?fields=id,first_name,friends.limit(100).fields(first_name,id)", Facebook.HttpMethod.GET, APICallback); 
     return; 
    } 
  1. 正使用Facebook的图形API以及处理错误 积分API之间的不同模式?

  2. 我需要同时实现JSON错误和HTTP错误解析器?

  3. 什么是用于处理 Unity应用中的Facebook错误的最佳做法?

回答

2

1)有一些限制,以统一的WWW类,遗憾的是并没有让我们回馈更有意义的错误。他们正在修复它,所以在将来,result.Error将返回一条错误消息,并且当发生错误时,将在错误中填充更多有意义的细节。 Scores API和Graph API应该使用相同的模式。虽然错误如何回归仍然存在一些不一致之处。如果您确实发现了类似情况,请通过我们的错误报告工具告知我们:https://developers.facebook.com/bugs

2)为了安全地保护自己,我会说是。这将是一个很好的做法,以确保您的游戏强劲。

3)我们试图遵循图形API的模式是它不应该返回错误代码,除非出现错误。然后,它应该返回一个HTTP错误代码和result.Error应该被填充。所以最好的方法是检查result.Error中是否有东西,并从那里处理它。如果您发现事情并非如此,请告诉我们。

+0

感谢您的澄清。 – georgepiva