在这里,我正在尝试获取带有Facebook详细信息的用户登录ID到我的应用程序中在下面的代码中,我得到"Facebook无法解析或不是字段错误
try {
// PROFILE DETAILS AND FRIENDS COUNTER
String queryUserInfo = "SELECT uid FROM user WHERE uid = me()";
Bundle paramUserInfo = new Bundle();
paramUserInfo.putString("method", "fql.query");
paramUserInfo.putString("query", queryUserInfo);
String responseUserInfo = Util.facebook.request(paramUserInfo);
//"facebook cannot be resolved or is not a field " error in getting facebook userid.
JSONArray JAUserData = new JSONArray(responseUserInfo);
for (int i = 0; i < JAUserData.length(); i++) {
JSONObject JOUserData = JAUserData.getJSONObject(i);
if (JOUserData.has("uid")) {
String getUserID = JOUserData.getString("uid");
}
}
} catch (Exception e) {
e.printStackTrace();
}
不喜欢 fql,但我认为:
- 不能将参数
method
添加为fql-query
- 必须添加子路径
/fql
- 您一定不能将 FQL 用于这些简单的事情(
https://graph.facebook.com/me
会有所帮助)
毕竟:
您需要创建一个具有子路径/fql
且仅包含一个参数的请求:q=YOURQUERY
示例:https://graph.facebook.com/fql?q=YOUREQUEST&access_token=ACCESS_TOKEN
建议:改用Graph-API
,这很简单。
如何开始:它是图形API
你可以找到Facebook的Api工具(我推荐Graph API Explorer
)