如何在不打开任何对话框的情况下在 Facebook 上发布消息?

Posted

技术标签:

【中文标题】如何在不打开任何对话框的情况下在 Facebook 上发布消息?【英文标题】:How post message on facebook without open any dialog? 【发布时间】:2013-11-28 07:56:21 【问题描述】:

我想使用本机 Facebook android 应用在不打开对话框的情况下在 facebook 上发布消息。 我正在使用 facebook sdk 3.5.2。 我已成功在墙上发帖。

我遇到了一些问题。

1) 如果我从本机 Facebook 应用程序注销。然后它将消息发布到以前用户的 Facebook 墙上,并且不要求进行身份验证。

2)如果用户在 Facebook 原生应用中使用不同的帐户登录,它仍然会发布消息到 以前的帐户(通过应用程序首次登录)。不要求认证。

代码:-

 Session.openActiveSession(this, true, new Session.StatusCallback() 

                // callback when session changes state
                @Override
                public void call(Session session, SessionState state, Exception exception) 
                    if (session.isOpened()) 

                        new messagePostAsyn().execute(session);

                    
                
              );

方法:

 private void postStatus(final Session session, String message) 


    Bundle _postParameter = new Bundle();
    _postParameter.putString("name", message);

    _postParameter.putByteArray("picture", bytes);
    _postParameter.putString("caption", "To help....");
    _postParameter.putString("description", "Testing...");
    Request request = new Request(session, "me/photos", _postParameter,
            HttpMethod.POST, new Callback() 

                @Override
                public void onCompleted(Response response) 
                    // TODO Auto-generated method stub
                    System.out.println("response......" + response);

                
            );



    Request.executeBatchAsync(request);



messagePostAsyn() 类中使用该方法。

【问题讨论】:

【参考方案1】:

试试这个代码:

public void postToWall(String message) 
    Bundle params = new Bundle();
    params.putString("message", message);

    // Uses the Facebook Graph API
    try 
        facebook.request("/me/feed", params, "POST");
        this.finish();
     catch (FileNotFoundException e) 
        e.printStackTrace();
     catch (MalformedURLException e) 
        e.printStackTrace();
     catch (IOException e) 
        e.printStackTrace();
    

【讨论】:

为什么要在退出原生应用后发布消息?这里我们需要在发布消息后清除令牌。 有什么方法可以知道用户是否从本机 facebook 应用程序注销然后我的应用程序要求登录,否则不要求登录? 请不要再使用 Facebook 类,整个类已被弃用,将不再受支持。无法知道用户是否已从本机 Facebook 应用注销。

以上是关于如何在不打开任何对话框的情况下在 Facebook 上发布消息?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不提示用户提供 Facebook 权限的情况下在 iOS 应用程序中获取公共 Facebook 页面的提要?

如何在不使用 URL 的情况下在 facebook 上分享我的新闻

如何在不登录的情况下在 Android 中发布到 Facebook Wall?

在不打开对话框的情况下发布 Facebook 好友个人资料? [关闭]

如何在不使用对话框的情况下在操作栏上方显示视图?

如何在不使用任何库的情况下在颤振中使用 bloc