Я борюсь с одной проблемой.
Я должен отправить уведомление пользователям Facebook. В соответствии с версией API версии> = 2.0 мы получаем идентификаторы пользователя, привязанные к приложениям, вместо исходных UID.
Мой вопрос: можем ли мы отправлять уведомление пользователю с использованием этих новых идентификаторов приложений?
Поскольку я пытался отправить уведомление с помощью идентификаторов приложений, код не удался. Но когда я пробовал один и тот же код с оригинальным идентификатором пользователя, он работал.
Пожалуйста, дайте мне знать, есть ли способ решить эту проблему.
Заранее спасибо.
Вот мой код:
require_once "/facebook_api/facebook.php";
$facebook = new Facebook();
$app_id = '<app_id>';
$app_secret = '<secret_id>';
$app_access_token = $app_id . '|' . $app_secret;
$id = '<app-scoped-id>'
$response = $facebook->api( '/'. $id .'/notifications', 'POST', array(
'template' => 'You have received a new message.',
'href' => 'http://test.com',
'access_token' => $app_access_token
));
print_r($response);
die;
ОТВЕТ:
Если используется идентификатор пользователя с приложениями, ответ:
PHP Warning: Missing argument 1 for Facebook::__construct(), called in /facebook/message.php on line 4 and defined in /facebook/facebook_api/facebook.php on line 47
PHP Notice: Undefined variable: config in /facebook_api/facebook.php on line 51
PHP Fatal error: Uncaught GraphMethodException: Unsupported post request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api
брошен в /facebook/facebook_api/base_facebook.php в строке 1283
если я использую оригинальный идентификатор пользователя, результатом будет: Array(['success']=>1);
Я делаю то же самое, и он также работает с реальным идентификатором пользователя, но когда я использую идентификатор области приложения, я получаю эту ошибку:
(#803) Some of the aliases you requested do not exist: ...
В настоящее время вы можете использовать как глобальный идентификатор ID приложения, так и приложение в своем приложении. Facebook, похоже, смягчил это ограничение.
Если ваш идентификатор области приложения не работает, укажите ошибку.