Ошибка 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
в конце). Я пробовал это в моем проекте, и он работает без каких-либо проблем.