找到了我需要的解決方案:
,而不是更新我的道理,我只是做一個FQL查詢檢索我想了解
權限的遠程(最多最新的)狀態
下面的代碼查詢關於發佈權限(官方稱爲「publish_actions」):
public void asyncQueryIfHasPublishPermissions() {
String fqlQuery = "SELECT publish_actions FROM permissions WHERE uid = me()";
Bundle params = new Bundle();
params.putString("q", fqlQuery);
Session session = Session.getActiveSession();
Request request = new Request(session,
"/fql",
params,
HttpMethod.GET,
new Request.Callback(){
public void onCompleted(Response response) {
JSONObject graphResponse = response.getGraphObject().getInnerJSONObject();
boolean publishPermissions = false;
try {
if (graphResponse.getJSONArray("data").getJSONObject(0).getInt("publish_actions")==1) {
publishPermissions = true;
}
} catch (JSONException e) {
Log.e("FacebookIntegration", "JSON error "+ e.getMessage());
}
FacebookRequestError error = response.getError();
if (error != null) {
Log.e("FacebookIntegration", "FacebookRequestError "+ error.getErrorMessage());
}
Log.i("FacebookIntegration", "asyncQueryIfHasPublishPermissions response: "+publishPermissions);
}
});
Request.executeBatchAsync(request);
}
但是我們如何使Session對象反映更新的權限? – JRun 2013-06-30 10:22:42