2017-01-01 100 views
0

是否有可能在我的android應用程序上放置一個類似按鈕,點擊哪個按鈕可以在Facebook上公開發布?除了可能用於第一次身份驗證之外,我不希望爲任務打開任何其他窗口。Android Facebook Like Button

到目前爲止所有問題都與打開一個新窗口有關。

回答

1

這是可能的。您可以使用Facebook的Open Graph API執行Like Action。爲了做到這一點,需要滿足一定的條件:

  1. 在應用程序的內容的觀衆是誰擁有一個Facebook用戶的Facebook,authed和授予的程序publish_actions許可
  2. 的應用程式內容具有被使用開放圖譜元標籤
  3. 適當標記的開放式圖形對象頁面的觀衆已經有意點擊應用程式與應用程式內容在一個

步驟相關聯的自定義「像按鈕」高級別:

您需要先獲取用戶的活動Sessioncom.facebook.Session)。

Session session = Session.getActiveSession(); 

然後,你需要確保用戶擁有publish_actions許可。如果沒有,請求他們。

List<String> requestedPermissions = Arrays.asList("publish_actions"); 
List<String> currentPermissions = session.getPermissions(); 
if (!currentPermissions.containsAll(requestedPermissions)) { 
    Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, requestedPermissions); 
    session.requestNewPublishPermissions(newPermissionsRequest); 
} 

最後,您的請求發送到"me/og.likes"。您的請求應該包括您的SessionBundle,包括您想要的Graph對象,HTTP方法以及一旦您收到響應就會執行的回調。

Bundle postParams = new Bundle(); 
postParams.putString("object", myGraphObject); 
Request request = new Request(session, "me/og.likes", postParams, HttpMethod.POST, myCallback); 
RequestAsyncTask task = new RequestAsyncTask(request); 
task.execute(); 

您想在按鈕的OnClickListener中執行這些步驟。

希望這會有所幫助!

資源:

Like Action

Publishing Conditions