2016-05-30 65 views

回答

5

User Profile API可能会帮助你。

使用来自信使BOT服务器(/网络挂接)收到event.sender.id,并按照以下

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>" 

请求,那么你可以得到以下

{ 
    "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" 
} 
+0

所以我只是把curl的东西粘贴到php代码中吧? 我如何访问返回的json? (即我想说的“你好”+ <人的名字>) –

+0

看到如何使一个HTTP获取请求和访问返回的JSON在PHP http://stackoverflow.com/questions/15617512/get-json- object-from-url – iownthegame

+0

我应该激活哪些权限? – enriquo

0

您可以使用下面的返回的JSON 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'] 
+0

对不起,我从来没有真正的使用PHP。我该如何使用你的PHP代码片段(即,我把它放在代码中)? 我有我在下面的评论中基于你的代码。 –

+0

if($ messageText ==“hi”){ // $ answer =“Hello”; $ 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/ ?fields = first_name,last_name&access_token = '); $ result = curl_exec($ ch); curl_close($ ch); $ obj = json_decode($ result); $ answer ='嗨'。 $ obj ['first_name']。 ''。 $ OBJ [ '姓氏']; } else if($ messageText!=“”){ $ answer =“对不起,我不认为我理解你的意思,试着问我别的东西! } –

+0

@RayyaanMustafa,你必须粘贴这个代码,你正在处理的消息文本。 –

0

@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

相关问题