我想與Facebook進行交流,做簡單的事情。目前,我可以將用戶登錄並貼到他們的牆上。但無論出於何種原因,我似乎無法獲取諸如他們的名字等公共信息。我始終得到這個錯誤:Android Facebook Oauthexception與有效的訪問令牌
{「error」:{「message」:「Syntax error \」字符串的預期結束而不是\「?\」。\「在字符4:name?access_token = MYACCESSTOKEN」, 「類型」: 「OAuthException」, 「代碼」:2500}}
這裏是呼叫:
SampleRequestListener srl = new SampleRequestListener();
AsyncFacebookRunner afr = new AsyncFacebookRunner(facebook);
afr.request("http://graph.facebook.com/me?fields=name", (RequestListener)srl);
即呼叫是有效的會話內進行的(在DialogListener用於.Authorize所述的onComplete部)。用我和的access_token完全相同的字符串,如上面我可以請求在http://developers.facebook.com/tools/explorer/
工作得很好,而解析在RequestListener.onComplete
JSONObject json = Util.parseJson(response);
final String name = json.getString("name");
System.out.println("Hi, my name is " + name);
響應謝謝你的時候發生錯誤。歡迎所有的投入。
UPDATE *
有兩件事情正在進行。在facebook API中,Util.openUrl附加了一個「?」字段名稱和access_token之間(如下面的答案所指出的)。這看起來很奇怪。我想知道我是否抽取了舊版本的API或其他東西。你會認爲這將設置正確。
另外,我錯誤地調用的方法: 此:
afr.request("http://graph.facebook.com/me?fields=name", (RequestListener)srl);
應該是:
afr.request("me?fields=name", (RequestListener)srl);
你能不能幫我解決我的問題http://stackoverflow.com/q/17102992/1767260。我認爲它與你的問題類似。但我無法弄清楚我的代碼中的問題。你可以檢查 – user1767260 2013-06-17 09:04:54