如何在Facebook上生成通知?

时间:2012-05-21 08:58:27

标签: facebook notifications facebook-php-sdk facebook-wall

我想构建一个应用程序,可以为订阅该通知的少数用户生成通知(如短信 - >移动用户将在收到短信的同时在手机上收到通知)。

我已经建立了一个应用程序和这样的社区页面(我对Facebook不太熟悉)。

这是我的代码:

//PHP SDK
require 'include/facebook.php';

//Instant Facebook-Object
$facebook = new Facebook(array(
  'appId'  => '...',
  'secret' => '...',
  'cookie' => true,
));

$user = $facebook->getUser();

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

// If a user haven't been loged in, so the user have to authorize
if (!$user) {
  $loginUrl = $facebook->getLoginUrl(
            array(
                'scope' => 'publish_stream',
                'redirect_uri' => 'http://my-hosting.url/'
            )
    );
    header('Location: '.$loginUrl);
    exit;
}

try {
    $publishStream = $facebook->api("/$testid/feed", 'post', array(
        'message' => 'Hello World',
        'link'  => 'http://www.example.org/',
        'name' => 'Test',
        'description' => 'Wohoo some great text.',
        )
    );
} catch (FacebookApiException $e) {
    var_dump($e);   
}

我正在玩它包含的$testid例如 $ user 社区页面ID

如果是用户ID,我会在墙上收到消息但没有任何通知就很难过。如果我将其更改为社区页面,我将收到此消息的异常:

  

(#210)用户不可见

似乎社区页面不允许这样做。在我尝试获得许可之前,我想问一下这种方式是否可行,或者我是否只是在浪费时间。

2 个答案:

答案 0 :(得分:2)

我可以想到主要有两种使用图形api向用户发送通知的方法,然后每种方法分成两个。

1)请求 requestsSocial Channels的一部分,有两种类型:

  • 用户请求 - 将显示在facebook标题的“globe”通知区域中。
  • 应用程序请求 - 将显示为书签菜单中应用程序名称附近的计数器

2)私信 如果您发送私人消息,那么用户将获得它作为任何其他PM,这意味着如果用户已经在他的移动电话上安装了facebook应用程序,那么他将被通知新的PM。

您可以通过两种方式使用api发送消息:

  • Send dialog - 问题是您需要使用Facebook对话框(使用其中一个SDK)。
  • The Chat API - 使用xmpp,您可以代表登录用户发送消息。需要xmpp_login权限。

答案 1 :(得分:0)

您可以使用Notification API向注册用户发送通知。

REF:
https://developers.facebook.com/docs/app_notifications/

但我不知道如何设置每天发送通知的时间。