6

当我尝试连接SOCIAL AUTH 4.4 以在 ANDROID 中集成 FACEBOOK API 时出现此错误。

几天前一切正常,我可以从我的应用程序将数据发布到 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

我仍然遇到同样的问题。我到底在哪里失踪..

4

3 回答 3

3

在这里看看我的答案:

您应该更新到最新版本 4.7 ( https://code.google.com/p/socialauth/ ) 并再次测试。我怀疑权限集也设置在代码中的某处。

4.7 版有什么新功能?
...
Facebook API v2.2 更新
...

于 2015-05-29T08:22:39.487 回答
1

由于 Facebook 最近更改了太多内部设置,因此最好使用 Facebook SDK 而不是 Social Auth

要开始使用 Facebook sdk,您需要在 facebook 开发人员控制台中创建一个项目,请参阅下面的链接以继续

创建一个应用程序下载并将最新的 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 是在开发者控制台中创建项目时生成的应用程序 ID

不要忘记包括互联网权限

然后在您的活动中添加以下代码

//需要声明变量

 CallbackManager callbackManager;
    ShareDialog shareDialog;

//在活动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);
于 2015-06-16T12:05:28.183 回答
0

我查看了Socialauth 资源,发现您在属性文件中犯了一个小错误。自定义权限属性应命名为

graph.facebook.com.custom_permissions

不是

graph.facebook.com.custom_permission

(注意s最后)。我已经在我的项目中尝试过它,它没有任何问题。

于 2015-11-24T14:02:02.417 回答