我想從我的Android應用程序發佈一些預定義的消息和圖像在Facebook牆上。在Facebook上發佈狀態消息而不打開Facebook牆狀態頁面
我做了什麼
我使用OpenSSL的創建哈希鍵,放在我的Facebook developer app(Native Android App)
還設置包名稱和活動名稱。然後在我的應用程序中使用Facebook應用程序密鑰。
我做了所有的編碼和運行我的應用程序,它要求我登錄,然後我輸入用戶名和密碼,但是當我點擊發布消息按鈕,它顯示我Facebook
狀態頁,我需要手動輸入狀態,我不想。我想直接在牆上發佈預定義的消息,而無需打開此頁面。
這是我的代碼供您參考。
private void postStatusUpdate() {
if (canPresentShareDialog) {
FacebookDialog shareDialog = createShareDialogBuilder().build();
uiHelper.trackPendingDialogCall(shareDialog.present());
} else if (user != null && hasPublishPermission()) {
Bundle postParams = new Bundle();
GetSet gs = new GetSet();
postParams.putString("name", gs.getFacebook_menu_name());
postParams.putString("caption", gs.getFacebook_hotel_name());
postParams.putString("description", "My rating for this menu is "+gs.getFacebook_menu_rating());
//postParams.putString("link", "https://developers.facebook.com/android");
postParams.putString("picture", gs.getFacebook_url_address());
Request.Callback callback= new Request.Callback() {
public void onCompleted(Response response) {
JSONObject graphResponse = response
.getGraphObject()
.getInnerJSONObject();
String postId = null;
try {
postId = graphResponse.getString("id");
} catch (JSONException e) {
Log.i("TAG",
"JSON error "+ e.getMessage());
}
FacebookRequestError error = response.getError();
if (error != null) {
Toast.makeText(FacebookActivity.this
.getApplicationContext(),error.getErrorMessage(),Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(FacebookActivity.this
.getApplicationContext(),
"Details suuccesfully post on your wall",
Toast.LENGTH_LONG).show();
}
}
};
Request request = new Request(Session.getActiveSession(), "me/feed", postParams,
HttpMethod.POST, callback);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
} else {
pendingAction = PendingAction.POST_STATUS_UPDATE;
}
}
這裏有兩個條件。
a。如果我的手機沒有Facebook應用程序,那麼它工作正常。它在Facebook牆上發佈消息而無需手動輸入
b。但是,如果我在我的手機上安裝了Facebook應用程序安裝,那麼它會打開狀態頁面,我已手動輸入消息,而我不想。
我不明白要做什麼。因爲我讀了Facebook的某個地方,不允許在沒有打開狀態頁的情況下發帖。
請給我任何參考或提示。
無法通過共享對話框提供了一個預定義的消息。你也不應該(因爲沒有阻止你的編程方式,所以我只能使用should而不是在這裏)通過圖API提供一個預定義的消息,你需要爲最終用戶提供一個機制來輸入消息,並通過它到圖形API。使用預定義的消息違反策略。請參閱Facebook平臺政策第四部分#2 - https://developers.facebook.com/policy/ –