首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在不打开对话框的情况下使用Facebook Android SDK在Facebook墙上发布

在不打开对话框的情况下使用Facebook Android SDK在Facebook墙上发布
EN

Stack Overflow用户
提问于 2010-11-18 18:25:48
回答 4查看 63.7K关注 0票数 17

使用Facebook SDK,我可以登录并将我的access_token存储到数据库中。当我尝试创建帖子时,由于以下问题,我的手机和模拟器上的Facebook墙仍然是空的:

1)我从数据库中获取一个access_token,并将该access_token传递给Facebook,但我不允许在墙上发帖。

2)如果不打开对话框,我将无法发布消息。

   mPostButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                String message = "Post this to my wall";

                Bundle params = new Bundle();             

                params.putString("message", message);

                mAsyncRunner.request("me/feed", params, "POST", new WallPostRequestListener());

            }
        });

 public class WallPostRequestListener extends BaseRequestListener {

        public void onComplete(final String response) {
            Log.d("Facebook-Example", "Got response: " + response);
            String message = "<empty>";
            try {
                JSONObject json = Util.parseJson(response);
                message = json.getString("message");
            } catch (JSONException e) {
                Log.w("Facebook-Example", "JSON Error in response");
            } catch (FacebookError e) {
                Log.w("Facebook-Example", "Facebook Error: " + e.getMessage());
            }
            final String text = "Your Wall Post: " + message;
            Example.this.runOnUiThread(new Runnable() {
                public void run() {
                    mText.setText(text);
                }
            });
        }
    }

如何在不打开对话框的情况下发布到Facebook?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-07 20:11:21

我申请了以下代码,可以成功地在墙上发布我的消息。

public void postOnWall(String msg) {
        Log.d("Tests", "Testing graph API wall post");
         try {
                String response = mFacebook.request("me");
                Bundle parameters = new Bundle();
                parameters.putString("message", msg);
                parameters.putString("description", "test test test");
                response = mFacebook.request("me/feed", parameters, 
                        "POST");
                Log.d("Tests", "got response: " + response);
                if (response == null || response.equals("") || 
                        response.equals("false")) {
                   Log.v("Error", "Blank response");
                }
         } catch(Exception e) {
             e.printStackTrace();
         }
    }
票数 37
EN

Stack Overflow用户

发布于 2011-12-05 00:33:33

我在http://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/更新了我的教程,它现在准确地回答了这个问题。它基于Ankit的答案,并与Ankit的答案基本相同,但指导人们从头到尾实现整个过程。

票数 7
EN

Stack Overflow用户

发布于 2010-11-18 20:27:28

这并不是说有些东西在没有通知用户的情况下就被贴到了墙上。当用户允许你的应用程序时,Android Facebook sdk会显示另一个页面,其中有一个你的应用程序发送的文本,以及一个用户可以在墙上写字的textBox,类似于我附加的屏幕截图

移动设备上的实际布局略有不同,但格式相同。这个过程在facebook android sdk的示例中得到了很好的展示。

现在检查这篇文章中提出的问题:

脸书连接安卓--使用stream.publish @ http://api.facebook.com/restserver.php'>[Facebook连接安卓--使用stream.publish @ http://api.facebook.com/restserver.php](https://stackoverflow.com/questions/2140952/facebook-connect-android-using-stream-publish-http-api-facebook-com-restse)

在问题中查找这些: postParams.put()时,一些JAVA文件中也会有类似类型代码行。您可以使用这些行将数据发布到Facebook。

例如:

postParams.put("user_message", "TESTING 123");

是一条信息,

postParams.put("attachment", "{\"name\":\"Facebook Connect for Android\",\"href\":\"http://code.google.com/p/fbconnect-android/\",\"caption\":\"Caption\",\"description\":\"Description\",\"media\":[{\"type\":\"image\",\"src\":\"http://img40.yfrog.com/img40/5914/iphoneconnectbtn.jpg\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone/\"}],\"properties\":{\"another link\":{\"text\":\"Facebook home page\",\"href\":\"http://www.facebook.com\"}}}");

是为应用程序、描述、标题等提供图标的行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4213767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档