我想用facebook php sdk发布通知,我该怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想用facebook php sdk发布通知,我该怎么做?相关的知识,希望对你有一定的参考价值。

我有一个Facebook应用程序,我想发送通知。

我有用户的ID,但似乎无法获得有效的访问令牌...

我找不到在线工作的例子,facebook api documentation 没有给出例子。

我的问题归结为:

如何获取访问令牌以执行此操作以及可以使用哪些(工作)代码执行此操作?

S.

答案

你需要一个app访问令牌,幸运的是有一个页面,你可以得到它。

- >保密,即不要在源代码管理中签入,它与你的app秘密直接相关...

这是在撰写本文时有效的代码:

用用户id替换示例中的{test-user-id}(例如测试用户)

<?php

session_start();

require_once __DIR__ . '/../vendor/autoload.php'; // change path as needed

$fb = new FacebookFacebook([
  'app_id' => '',
  'app_secret' => '',
  'default_graph_version' => 'v2.9',
  ]);

$token = ''; //see rest of answer

$message = 'You have people waiting to play with you, play now!';

$request = $fb->request('post', '/{test-user-id}/notifications?access_token='.$token.'&template='.$message.'&href=test.html');

// Send the request to Graph
try {
  $response = $fb->getClient()->sendRequest($request);
} catch(FacebookExceptionsFacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error neverthelss: ' . $e->getMessage();
  exit;
}

$graphNode = $response->getGraphNode();

echo 'success: ' . $graphNode['success'] . ' error: ' . $graphNode['error'];

?>

$令牌是从this toolthis question and answer的积分)获得的。

页面输出succes: 1 error:(并将消息作为通知发送到测试用户帐户)。

如果单击通知,则会相对于服务器上的应用程序根目录指向test.html

我希望它对其他人有用。

干杯,

S.

以上是关于我想用facebook php sdk发布通知,我该怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

使用启用严格模式的Facebook PHP SDK登录时出错

Facebook php SDK getLogoutUrl() 问题

Facebook SDK 4.0 AppInvite 没有收到任何通知

在 PHP 中使用 Facebook sdk4 登录

如何使用php SDK在一个域内托管Facebook(作为App)运行php代码? [关闭]

使用 Facebook Javascript SDK 检查在线用户