Android 我如何正确处理Facebook的回复?

Android 我如何正确处理Facebook的回复?,android,facebook,Android,Facebook,我使用的是Facebook提供的标准API。 对于不成功的事务,响应类似于以下内容 { "error": { "message": "Error validating access token: Session has expired at unix time SOME_TIME. The current unix time is SOME_TIME.", "type": "OAuthException", "code": 190

我使用的是Facebook提供的标准API。 对于不成功的事务,响应类似于以下内容

{
  "error": {
    "message": "Error validating access token: Session has expired at unix 
                time SOME_TIME. The current unix time is SOME_TIME.", 
    "type": "OAuthException", 
    "code": 190
    "error_subcode": 463
}
一个成功的

{"id":"100054544144330556_25940175479504"}

如何检测成功的事务?我必须解析并查看它是否包含“error”一词,还是有更好的方法?

如果在结果中发现“error”,Facebook SDK将抛出一个错误。如果您使用的是标准API,那么您也必须这样做

例如,在Facebook PHP SDK中,您可以看到以下内容(以一种易于阅读的方式,这不是100%PHP):


就这么做吧。但是不要忘记解析JSON对象,不要作为字符串搜索,如果存在“错误”键,则作为键->值对搜索。

有很多库可以帮助您完成对FaceBook API的其余调用。你调查过了吗?我想这对你来说是有价值的,因为你正在为Android开发

有了这个框架,您可以从各个响应元素中抽象出自己,并处理真正重要的事情……对象本身(用户、注释等)

利用此框架,您可以执行以下操作:

FacebookEngine faceBookEngine = new DefaultFacebookClient(authToken);
User facebookUser = facebookClient.fetchObject("me", User.class);

if (facebookUser == null)
    {
        throw new FacebookOAuthException("Bad user data",
                        "user is null!");
    }

在Android中,最直接、最简单的方法是检查“id”:


你应该接受答案。
FacebookEngine faceBookEngine = new DefaultFacebookClient(authToken);
User facebookUser = facebookClient.fetchObject("me", User.class);

if (facebookUser == null)
    {
        throw new FacebookOAuthException("Bad user data",
                        "user is null!");
    }
...
JSONObject jason = new JSONObject(jsonString);
...

try{
    String id = jason.getString("id");
} catch(JSONException je) {
    //ID was not found
    ....
}