如何获取对Messenger链接有效的FB用户标识

时间:2017-06-08 23:24:32

标签: facebook facebook-graph-api

我可以通过很多方式获得FB用户ID,但问题不在于此。

我已经实现了facebook登录并多次检索用户ID。到目前为止,我只关心授权用户,所以我使用用户ID来对我的数据库进行处理。

但是知道我需要使用此ID创建用户facebook个人资料的链接。死简单:

'https://www.facebook.com/'+id

但是,当我尝试链接到用户信使帐号时:

'https://www.facebook.com/messages/t/'+id

链接已损坏。

使用像findmyfbid.com这样的工具时,我可以获得与我从Facebook登录获得的用户ID不同的用户ID。这个id适用于FB配置文件和信使链接。

我的问题是 - 如何获取(如果可能的话)该ID,以便创建一个有效的信使链接。

以下是我用来从facebook登录获取facebook id的代码示例:

$fb = new Facebook\Facebook([
  'app_id' => '{app-id}',
  'app_secret' => '{app-secret}',
  'default_graph_version' => 'v2.2',
  ]);

try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get('/me?fields=id,name', '{access-token}');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

$user = $response->getGraphUser();

echo 'Name: ' . $user['id'];

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为如果它,它将被垃圾邮件发送者滥用。 Facebook可以防范它。