我正在使用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"}
如何检测成功的交易?我是否必须解析并查看它是否包含“错误”这个词还是有更好的方法?
答案 0 :(得分:0)
例如,在Facebook PHP SDK中你可以看到这个(以一种易读的方式,这不是100%PHP):
if (isset('error')) {
throwAPIException();
}
做同样的事。但是不要忘记之前解析JSON对象,不要搜索为字符串,如果有“错误”键,则搜索为key->值对。
答案 1 :(得分:0)
有很多库可以帮助您调用FaceBook API。你看过RestFB了吗?我认为这对你来说是有价值的,因为你正在为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!");
}
答案 2 :(得分:0)
在Android中,最直接,最简单的方法是检查“id”:
...
JSONObject jason = new JSONObject(jsonString);
...
try{
String id = jason.getString("id");
} catch(JSONException je) {
//ID was not found
....
}