Шаблон уведомления приложения Facebook с идентификатором пользователя (@ [user_id]) не работает

Я не могу заставить шаблон @ [user_id] работать, используя:

$userid = <USER_ID>;
$friendId = <FRIEND_ID>; // This is a user who has accepted the app
$url = "https://graph.facebook.com/$userid/notifications";
$attachment =  array(
'access_token'  => "$app_token",
'href' =>  "",
'template' => "@[" . $friendId . "] accepted challenge!");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
//curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);
curl_close ($ch);

$result возвращает «ложь»

$friendId является действительным пользователем приложения и
$app_token такое «appid | appsecret»

Если я заменю ‘template’ на простое сообщение типа «test», все будет работать нормально

Есть идеи?

0

Решение

Возможно, вы используете неправильный идентификатор пользователя. Чтобы убедиться, что вы используете соответствующий идентификатор для своего друга, используйте меня / друзей с действительным токеном доступа пользователя для вашего приложения и проверьте, присутствует ли идентификатор в списке и является ли он обычным идентификатором пользователя или идентификатором области приложения. ,

Также убедитесь, что ваше приложение не находится в «режиме разработчика». Если это так, вам нужно добавить своего пользователя в качестве тестера или разработчика, чтобы вы могли протестировать свое приложение.

Я проверил это пару минут назад, и это хорошо работает.

Как несвязанный вопрос, не проще ли использовать PHP SDK от Facebook?

Я надеюсь, что это помогает.


Редактировать: App Scoped ID пользователя

Facebook представил управление версиями в апреле 2014 года. В Facebook API V2 мы представили идентификатор пользователя App Scoped, вы можете узнать больше об этом здесь: https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids

По сути, если ваше приложение FB было создано после апреля 2014 года, вы получите уникальный идентификатор для каждого пользователя, который может использоваться только вашим приложением. Вы должны использовать этот новый идентификатор пользователя в рамках приложения вместо обычного идентификатора пользователя Facebook.

2

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

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

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