我需要在我的应用上集成“在Facebook上分享”按钮。 遵循本指南
我在我的按钮上添加一个监听器,并在'onClick'中写道:
private static final String FACEBOOK_APPID = "00000";
private static final String FACEBOOK_PERMISSION = "publish_stream";
FacebookConnector facebookConnector = new FacebookConnector(FACEBOOK_APPID, activity, context, new String[] { FACEBOOK_PERMISSION });
facebookConnector.login();
//facebookConnector.postMessageOnWall("weeee");
我知道APPID号码,但是...... facebook_permission(publish_stream)是什么?
if I try without the facebook_permission I get a null pointer exception
答案 0 :(得分:0)
权限定义,允许您的应用执行的操作
看这里:http://developers.facebook.com/docs/howtos/androidsdk/3.0/fetch-user-data/#step2
您在代码中添加权限,例如
((com.facebook.widget.LoginButton) findViewById(YourLogInId)).setPublishPermissions(Arrays
.asList("publish_stream"));
答案 1 :(得分:0)
Facebook上的权限基本上会询问用户您/您的应用尝试完成的任务。在您的示例中,您注意到了publish_stream。这允许您在用户的墙上发布您的应用。另一个经常使用的权限是email
。
请查看https://developers.facebook.com/docs/reference/login/#permissions并找到您要使用的权限:)
答案 2 :(得分:0)
您应该只使用点击按钮上的操作ACTION_SEND
来使用基本的Intent,而不是创建Facebook共享按钮。
这是因为如果用户没有Facebook,那么您的应用程序将无法按预期工作,除非您添加一些特殊逻辑来检测Facebook应用程序是否已安装。
这是ACTION_SEND的最初原因。也许用户有Twitter而不是facebook,你是说如果用户想要在Twitter上分享他们不能?这似乎是一种不必要的限制。
我建议遵循这种方法: How to add Facebook Share button in Android Application
权限是facebook应用程序定义的用于访问特定数据的权限。如果您想要用户的电子邮件,则可以申请电子邮件权限,如果您想阅读您需要Feed权限的Feed。花一些时间阅读文档: