facebook - 无法使用新 API 发送 FB 通知

标签 facebook notifications

真的需要一些帮助!

我正在尝试使用新的通知 API 从 Canvas 应用程序发送通知,但我不断收到以下异常:

OAuthException: (#200) 只有网络 Canvas 应用可以发送应用通知

但是,该应用程序已加载到 Facebook Canvas 中——当用户执行触发通知 POST 请求的特定操作时,我正在对我的服务器进行 ajax 调用。用户也已授权该应用。

这是我正在使用的代码:

$graphUrl = $user_id . "/notifications";
$params = array( "access_token" => $admintoken,
             "href" => $link, 
         "template" => "string of text < 180 chars"
        );

try {
  $result = $facebook->_graph($graphUrl, 'POST', $params);
 } catch (Exception $e){
     echo $e;
 }

最佳答案

我也遇到了这个问题,这就是我解决它的方法,但这可能与您无关,因为您似乎确定您的应用程序是 Canvas 应用程序。我的应用程序主要在 Facebook 上运行,但具有 Facebook 集成 Hook ,这意味着用户可以授权我的 Facebook 应用程序,然后通过 Facebook 框架接收有关有趣事件的更新。

我去 Facebook Developers 应用程序中编辑我的应用程序设置,查看底部附近的设置 -> 基本页面。我只检查了“使用 Facebook 登录的网站”。我检查了“Facebook 上的应用程序”,这给了我一个“ Canvas 页面”和各种其他设置。填写并保存这些内容后,POST 到 uid/notifications 立即生效。

顺便说一句,转到 apps.facebook.com/myappnamehere 会失败,因为它会重定向到 https 并且对我的站点的请求会失败,因为我的 SSL 设置不正确,但这并没有阻止在该应用程序凭据下发送通知.

关于facebook - 无法使用新 API 发送 FB 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262965/

相关文章:

ios - WatchOS 动态通知不适用于 Xcode 11.1 及更高版本 - didReceive 未调用

java - 服务中的套接字 + 通知

java - 如何获取和设置通知中的变量?(Android)

android - 在alarmmanager中单击通知后打开 Activity 并广播Kotlin

android - Facebook 登录权限对话框中未显示生日范围

facebook - IIS 7.5 中的 2 个 SSL、3 个网站、1 个 IP

facebook - 通过 Graph API 将图像发布到 Facebook 页面时间轴

android - 在 Android 中使用带附件的 ActionChooser 用于电子邮件和 Facebook-App

javascript - javascript 的 Facebook 登录 API 不起作用

ios - 从另一种方法获取区域标识符?