Ошибка Social Auth 4.4:: Неверные области: publish_stream.

Я получил эту ошибку, когда я пытаюсь соединиться с SOCIAL AUTH 4.4 TO INTEGRATE 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

Тем не менее я получаю ту же проблему. Где именно мне не хватает..

3 ответа

Решение

Поскольку Facebook изменил слишком много внутренних настроек в последнее время, лучше использовать Facebook SDK, а не Social Auth.

Чтобы начать работать с Facebook SDK, вам нужно создать проект в консоли разработчика Facebook, пожалуйста, перейдите по ссылке ниже, чтобы продолжить.

Создано одно приложение, загрузите и импортируйте последнюю версию Facebook SDK в ваш проект

После импорта установите Facebook SDK в качестве проекта библиотеки для вашего затмения

добавьте ниже код в тег приложения 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 - идентификатор приложения, сгенерированный при создании проекта в консоли разработчика

не забудьте включить интернет-разрешения

затем добавьте следующий код в вашу активность

// переменные должны быть объявлены

 CallbackManager callbackManager;
    ShareDialog shareDialog;

// в деятельности по созданию

FacebookSdk.sdkInitialize(getApplicationContext());
     callbackManager = CallbackManager.Factory.create();
     shareDialog = new ShareDialog(this);

// Например, делимся добавлением приведенного ниже фрагмента в список нажатий кнопки

ShareLinkContent content = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse(copyTextToClipBoard()))
                .build();

                shareDialog.show(content);

Посмотрите на мой ответ здесь:

Вам нужно обновить до последней версии 4.7 ( https://code.google.com/p/socialauth/) и протестировать снова. Я подозреваю, что набор разрешений также установлен где-то в коде.

Что нового в версии 4.7?
...
Facebook API v2.2 обновлен
...

Я просмотрел источники Socialauth и вижу, что вы допустили небольшую ошибку в вашем файле свойств. Свойство пользовательских разрешений должно быть названо как

graph.facebook.com.custom_permissions

не

graph.facebook.com.custom_permission

(Обратите внимание s в конце). Я пробовал это в моем проекте, и он работает без каких-либо проблем.

Другие вопросы по тегам