如何在不打开任何对话框的情况下在 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?