当我尝试连接SOCIAL AUTH 4.4来整合FACEBOOK API IN ANDROID时出现此错误。
几天后,一切正常,我可以从我的应用程序将数据发布到Facebook。
现在我在尝试从我的应用程序访问Facebook时遇到此错误。
无效的范围:offline_access,publish_stream。这条消息只是 向开发者展示。您应用的用户将忽略这些权限 如果存在的话请阅读文档以获取有效权限: https://developers.facebook.com/docs/facebook-login/permissions
阅读完文档后,我才知道,不允许使用权限offline_access和publish_stream,因此无法再请求权限。
所以我根据文档替换了我的属性文件。
publish_stream可以被publish_actions取代,offline_access也不见了。
喜欢以下:::
#facebook
graph.facebook.com.consumer_key = XXXXXXXXXXXXX
graph.facebook.com.consumer_secret = XXXXXXXXXXXXXXXXXXXXXXXXXXX
graph.facebook.com.custom_permission = publish_actions,email,user_birthday,user_location
我仍然遇到同样的问题。我到底错过了什么..
答案 0 :(得分:3)
在这里查看我的答案:
您应该更新到最新版本4.7(https://code.google.com/p/socialauth/)并再次测试。我怀疑权限集也设置在代码中的某个位置。
版本4.7中有什么新内容?
...
Facebook API v2.2已更新
...
答案 1 :(得分:1)
由于Facebook最近改变了太多的内部设置,最好使用Facebook SDK而不是Social Auth
要开始使用Facebook sdk,您需要在Facebook开发者控制台中创建一个项目,请在下面链接到proceed。
创建了一个应用程序,将latest facebook sdk下载并导入到您的项目中
导入后将facebook sdk设置为您的eclipse的库项目
在mainfestifile应用程序代码中添加以下代码
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
其中facebook_app_id是在开发者控制台中创建项目时生成的app id
别忘了包含互联网权限
然后在您的活动中添加以下代码
//需要声明变量
CallbackManager callbackManager;
ShareDialog shareDialog;
//在activity oncreate
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
//例如,共享在按钮的单击列表中添加以下代码段
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse(copyTextToClipBoard()))
.build();
shareDialog.show(content);
答案 2 :(得分:0)
我已查看了Socialauth sources,我发现您在属性文件中发生了轻微错误。自定义权限属性应命名为
graph.facebook.com.custom_permissions
不是
graph.facebook.com.custom_permission
(注意最后的s
)。我已经在我的项目中尝试了它,它可以解决任何问题。