android - 如何使用 android facebook sdk 在 friend 的墙上发布文本

标签 android facebook facebook-graph-api

我正在尝试使用 Android Facebook sdk 在用户 friend 的墙上发帖。我已经使用类似的调用成功发布到用户自己的新闻提要。使用我当前的代码,发给 friend 的帖子可以顺利运行,除了消息是空白的。这些附件似乎都不起作用。它在 friend 的墙上显示为完全空白的帖子。

这是我使用的代码:

private void publishChallengeToFriend() {
    String description = 
        "I challenge you to " + m_challenge.getTitle() + "!" + 
        " I finished this challenge with a score of " + getScore() + "."
        + " Can you beat that?";

    Bundle params = new Bundle();
    params.putString(Facebook.TOKEN, m_facebook.getAccessToken());
    params.putString("message", "");
    params.putString("name", "You have been challenged!");
    params.putString("caption", "Mobile Challenges");
    params.putString("description", description);
    try{
    m_facebook.request(getFriendId() + "/feed",params, "POST");
    }
    catch (Exception e){
        Log.d("TAG", "Facebook Error: " + e.getLocalizedMessage());
    }
}

我已经授权了用户,我知道这行得通,因为我可以发布到用户自己的供稿。我知道 github 问题 #166 在 https://github.com/facebook/facebook-android-sdk/issues/166 .我已经尝试通过在我想传输的每个字符串上调用 getBytes() 来为每个附件使用 putByteArray()。这在 friend 的墙上仍然显示为空白帖子。

我愿意使用任何方式在 friend 的墙上发帖,不一定非要通过 Facebook 请求。我也使用过 asyncfacebookrunner.request() 并且遇到了同样的问题。理想情况下,我想使用对话框来显示这一点,但我不知道如何将 dialog() 函数用于 friend 帖子。但是,我将它用于状态更新,没有任何障碍。

谢谢!

最佳答案

您将消息作为描述,尝试将其移至消息参数,“描述”参数是对您在帖子中放置的链接的描述,并将出现在链接下方。它不会显示在您的帖子中,因为您没有链接任何东西!你可以在下面看到我的方法:

protected void postToWall(String userID){
    try {
        if (isSession()) {
            String response = mFacebook.request((userID == null) ? "me" : userID);

            Bundle params = new Bundle();
            params.putString("message", "put message here");
            params.putString("link", "http://mylink.com");    
            params.putString("caption", "{*actor*} just posted this!");
            params.putString("description", "description of my link.  Click the link to find out more.");
            params.putString("name", "Name of this link!");
            params.putString("picture", "http://mysite.com/picture.jpg");

            response = mFacebook.request(((userID == null) ? "me" : userID) + "/feed", params, "POST");       

            Log.d("Tests",response);
            if (response == null || response.equals("") || 
                    response.equals("false")) {
                Log.v("Error", "Blank response");
            }
        } else {
            // no logged in, so relogin
            Log.d(TAG, "sessionNOTValid, relogin");
            mFacebook.authorize(this, PERMS, new LoginDialogListener());
        }
    }catch(Exception e){
        e.printStackTrace();
    }
}

这是结果,因此您可以看到帖子中不同参数的显示位置:

enter image description here

关于android - 如何使用 android facebook sdk 在 friend 的墙上发布文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480582/

相关文章:

javascript - 通过 facebook id 获取登录用户的可标记 id

android - Google 的应用索引与 Facebook 的应用链接有何不同?

android - Facebook Android sdk 3.0 授权对话框未显示请求的权限

php - 获取好友的 Facebook 帖子

facebook - 使用图形 API 从用户中删除应用程序

android - Facebook 喜欢按钮在 Android 应用程序中不起作用

java - 前台服务从 MainActivity 启动操作

android - 使用字符串而不是字符串传递给适配器

android - 将 Android Studio 项目与 Gradle 文件同步

android - 更新背景边界