Android 我如何正确处理Facebook的回复?
我使用的是Facebook提供的标准API。 对于不成功的事务,响应类似于以下内容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
{
"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
....
}