簡體   English   中英

Android-如何使用Facebook SDK 4.0.1發表評論

[英]Android - How to post a comment using Facebook SDK 4.0.1

有沒有辦法使用FacebookSDK 4.0.1發表評論。 因為在新的SDK中刪除了請求。 假設我已經登錄並獲得了“ publish_actions”權限。

private void facebookLogin() {
    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_friends"));
}

private void facebookLogout (){
    LoginManager.getInstance().logOut();
}

private void facebookPost() {
    //check login
    AccessToken accessToken = AccessToken.getCurrentAccessToken();
    if (accessToken == null) {
        Log.d(TAG, ">>>" + "Signed Out");
        status = Status.POST;
        facebookLogin();
        return;
    } else {
        Log.d(TAG, ">>>" + "Signed In");
        status = Status.NONE;
    }
    if (accessToken.getPermissions().contains("publish_actions")) {
        Log.d(TAG, ">>>" + "contain publish_actions");

        //I wanna post a comment in here
    } else {
        Log.d(TAG, ">>>" + "NOT contain publish_actions");

        LoginManager.getInstance().logInWithPublishPermissions(this, Arrays.asList("publish_actions"));
    }
}

您是否嘗試過使用com.facebook.share.widget.ShareApi類進行共享

ShareApi.share(content,null);

假設您要在用戶牆上發布內容,以下是使用Open Graph Stories使用Facebook Post所需執行的步驟。

1)前往開發人員控制台

2)注冊您的應用程序,創建new登錄流程-警告舊的登錄流程不適用於SDK 4.0

3)現在,一旦登錄成功,請轉到該應用程序的儀表板,然后從左側窗格中選擇“打開圖形”。

4)在此處定義您的動作,故事和對象。

5)盡管Facebook提供了獲取代碼的選項,但在故事,動作類型和對象類型旁邊-請注意,此代碼過舊並且無法使用。

這對我有用:

我的應用名稱為(在開發控制台上定義)

老友記

我的動作類型:慶祝我的對象類型:里程碑

這是我通過單擊按鈕發布的代碼片段:

            ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
            .putString("og:type", "friendsampleapp:milestone")
            .putString("og:title", "A Game of Thrones")
            .putString("og:description", "In the frozen wastes to the north of Winterfell, sinister and supernatural forces are mustering.")
        //  .putPhoto("og:image", photo)
            .build();


            // Create an action
            ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
            .setActionType("friendsampleapp:celebrating")
            .putObject("milestone", object)
            .build();

            // Create the content
            ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
            .setPreviewPropertyName("milestone")
            .setAction(action)
            .build();

            ShareDialog.show(getActivity(), content); 

使用以下代碼:

Bundle params = new Bundle();
            params.putString("message", "This is a test message");

        new GraphRequest(
                accessToken,
                "/me/feed",
                params,
                HttpMethod.POST,
                new GraphRequest.Callback() {
                    public void onCompleted(GraphResponse response) {
                    }
                }
        ).executeAndWait();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM