Привет, я очень новичок в программировании на PHP и Messenger Bots.
Мне было интересно, как я могу получить доступ к имени кого-то, кто связывался с моим чат-ботом.
API профиля пользователя может помочь вам.
использовать event.sender.id
полученный от сервера ботов мессенджера (/ webhook), и следуйте запросу ниже
curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=<PAGE_ACCESS_TOKEN>"
тогда вы можете получить возвращенный JSON ниже
{
"first_name": "Peter",
"last_name": "Chang",
"profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p200x200/13055603_10105219398495383_8237637584159975445_n.jpg?oh=1d241d4b6d4dac50eaf9bb73288ea192&oe=57AF5C03&__gda__=1470213755_ab17c8c8e3a0a447fed3f272fa2179ce",
"locale": "en_US",
"timezone": -7,
"gender": "male"}
Вы можете использовать приведенный ниже фрагмент PHP, чтобы получить имя пользователя
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name&access_token=<PAGE_ACCESS_TOKEN>');
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);
echo 'Hi ' . $obj['first_name'] . ' ' . $obj['last_name']
@Rajesh Hedge
В вашем коде есть небольшая ошибка:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name&access_token=<PAGE_ACCESS_TOKEN>');
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result); // *** here
echo 'Hi ' . $obj['first_name'] . ' ' . $obj['last_name']
$obj = json_decode($result, **true**);
$result
необходимо преобразовать в ассоциативный массив, прежде чем вы сможете получить к нему доступ следующим образом: $obj['first_name']
Увидеть http://php.net/manual/en/function.json-decode.php для деталей.