通过facebook API获取收件箱消息

时间:2013-10-04 07:03:08

标签: php facebook

请求帮助以了解如何通过API显示收件箱消息。基本上,我只想在我的收件箱中检索发件人和邮件。

Extended Permissions: read_mailbox权限已被允许。

以下代码有效。我只需要知道如何通过JSON格式为收件箱消息正确创建新的call并解码结果。

require '../src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => 'xxx',
  'secret' => 'xxx',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

$getUser= $facebook->api('/me');
echo $getUser['name'];

起初,我试过在下面添加。

$getInbox = $facebook->api('/me/inbox');
echo $getInbox['message'];

但它在我的PHP上呈现错误。

1 个答案:

答案 0 :(得分:2)

使用Graph API,您需要使用其他权限对用户进行身份验证:

<?php
$loginUrl = $facebook->getLoginUrl([
    'scope' => 'email, read_mailbox, read_requests'
]);

现在您已拥有其他权限,您可以使用此脚本访问信息:

<?php
$user_mail = $facebook->api('/me?fields=id,name,inbox.limit(10)');
print_r($user_mail);