Facebook SDK 4.0, использующий токен доступа приложения к publish_actions — отсутствует разрешение при запросе user_id / permissions

В настоящее время я обновляю старое приложение Facebook до версии 4.0 PHP PHP SDK. Приложение просто отправляет сообщения на стену пользователя, тем самым запрашивая publish_actions разрешение от пользователя. Поскольку приложение еще не было отправлено на проверку, я тестирую его с учетной записью разработчика и одной учетной записью тестового пользователя.

Когда я вхожу в тестовую учетную запись пользователя и открываю приложение, приложение проверяет, publish_actions разрешение было предоставлено. В моем случае это нормально работает для тестового пользователя:

FacebookSession::setDefaultApplication($config['appId'], $config['secret']);

$helper = new FacebookCanvasLoginHelper();
try {
$session = $helper->getSession();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(\Exception $ex) {
// When validation fails or other local issues
}

if($session) { //When app installed
$request_perm = new FacebookRequest($session, 'GET', '/me/permissions');
$response_perm = $request_perm->execute();
$graphObjectPermissions = $response_perm->getGraphObject()->asArray();

$permissions = [];
foreach ($graphObjectPermissions as $key => $permObject) {
$permissions[$permObject->permission] = $permObject->status;
}

if(array_key_exists('publish_actions', $permissions) && $permissions['publish_actions']=='granted'){
echo "Permission granted!";
}

Однако, когда я вхожу в учетную запись разработчика и запрашиваю разрешения у тестового пользователя с ПОЛУЧИТЬ user_id / permissions, возвращенный graphObject не содержит разрешения publish_actions на всех (только электронная почта и общедоступный профиль).

array ( 'email' => 'granted', 'public_profile' => 'granted', )

Это код для запроса, $ access_token содержит токен доступа к приложению моего приложения.

$thisSession = new FacebookSession($access_token);
$request_perm = new FacebookRequest($thisSession, 'GET', '/' . $data['user_id'] . '/permissions');
$response_perm = $request_perm->execute();
$graphObjectPermissions = $response_perm->getGraphObject()->asArray();
$permissions = [];//create permissions array

foreach ($graphObjectPermissions as $key => $permObject) {
$permissions[$permObject->permission] = $permObject->status;
}
var_export($permissions);

Что мне нужно изменить / сделать, чтобы проверить разрешение publish_actions из учетной записи разработчика с помощью GET user_id / permissions?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]