错误 Social Auth 4.4:: 无效范围:publish_stream。

Error Social Auth 4.4:: Invalid Scopes: publish_stream.

当我尝试连接 SOCIAL AUTH 时出现此错误 4.4 将 FACEBOOK API 集成到 ANDROID.

几天前一切正常,我能够 post 从我的应用程序向 Facebook 发送数据。

现在我在尝试从我的应用程序访问 Facebook 时遇到此错误。

Invalid Scopes: offline_access, publish_stream. This message is only shown to developers. Users of your app will ignore these permissions if present. Please read the documentation for valid permissions at: 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.7 (https://code.google.com/p/socialauth/) 并再次测试。我怀疑权限集也在代码中的某处设置。

Whats new in Version 4.7 ?
...
Facebook API v2.2 updated
...

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

要开始使用 Facebook sdk,您需要在 facebook 开发者控制台中创建一个项目,请参考下面 link 到 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 是在开发者控制台中创建项目时生成的应用程序 ID

不要忘记包括互联网权限

然后在您的 Activity

中添加以下代码

//变量需要声明

 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);

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

graph.facebook.com.custom_permissions

不是

graph.facebook.com.custom_permission

(注意末尾的 s)。我已经在我的项目中尝试过它并且它可以工作 w/o 任何问题。