我第一次弄乱了 facebook graph api,遇到了一个其他人不会发生的问题。如果这是重复的,我很抱歉。
Bundle searchParams = new Bundle();
searchParams.putString("q", "coffee");
searchParams.putString("type", "place");
String response = facebook.request("search", searchParams);
在上面的代码中,我试图复制 facebook 在他们的开发者图形 api 页面上搜索咖啡场所的示例。发生的有趣的事情是当我传入 Bundle 时,我已经设置了这两个参数。
public String request(String graphPath, Bundle params, String httpMethod)
throws FileNotFoundException, MalformedURLException, IOException {
params.putString("format", "json");
if (isSessionValid()) {
params.putString(TOKEN, getAccessToken());
}
String url = (graphPath != null) ? GRAPH_BASE_URL + graphPath
: RESTSERVER_URL;
return Util.openUrl(url, httpMethod, params);
}
当我逐步执行 facebook 请求函数(见上图)时,我注意到我放入的第一个参数在放入 access_token 后从 Bundle 中弹出。这导致我的 Bundle 仅包含 {"type", "place"} ,以及 facebook 的参数。通过调试器,我注意到阈值设置为 3。我猜这是我的问题,但不知道如何或在哪里改变它。
有什么想法吗?
更新:我无法弄清楚我遇到的问题。但是在升级到 facebook sdk 3.0b 时能够做我需要的事情。谢谢。