1

通知を購読している少数のユーザー向けに通知を生成するアプリを作成したいと思います(SMS->モバイルユーザーはSMSの受信時のように携帯電話で通知を受け取ります)。

私はアプリとそのようなコミュニティページを作成しました(私は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);   
}

$userコミュニティページID$testidなどが含まれています。

ユーザーIDの場合、壁にメッセージが表示されますが、通知なしで悲しいです。これをコミュニティページに変更すると、次のメッセージで例外が発生します。

(#210)ユーザーが表示されない

コミュニティページはそれを許可されていないようです。その許可を得る前に、この方法が可能かどうか、または単に時間を無駄にしているだけかどうかを尋ねたいと思います。

4

2 に答える 2

2

グラフAPIを使用してユーザーに通知を送信する方法は主に2つ考えられますが、それぞれが2つに分割されます。

1)リクエストリクエストはソーシャルチャネルの一部であり、次の2つのタイプがあります。

  • ユーザーリクエスト-Facebookヘッダーの「グローブ」通知領域に表示されます。
  • アプリのリクエスト-ブックマークメニューのアプリ名の近くにカウンターとして表示されます

2)プライベートメッセージプライベートメッセージを送信すると、ユーザーは他のPMと同じようにメッセージを受け取ります。つまり、ユーザーが自分の携帯電話にFacebookアプリをインストールしている場合は、新しいPMで通知されます。

APIを使用してメッセージを送信する方法は2つあります。

  • ダイアログの送信-問題は、Facebookダイアログを使用する必要があることです(SDKの1つを使用)。
  • チャットAPI -xmppを使用すると、ログインしているユーザーに代わってメッセージを送信できます。xmpp_login権限が必要です。
于 2012-05-21T09:14:43.950 に答える
0

通知 API を使用して、登録ユーザーに通知を送信できます。

参照:
https://developers.facebook.com/docs/app_notifications/

しかし、通知を毎日送信する時間を設定する方法がわかりません。

于 2012-09-07T12:07:49.907 に答える