facebook Uncaught OAuthException:必须使用活动访问令牌来查询有关当前用户的信息

2023-11-22

我一直在努力找出这是怎么回事。 我的脚本运行良好一段时间,然后突然一半停止了。

我正在访问 api 并取回访问令牌。有了访问令牌,我就可以很好地访问用户的公共信息。但是,当我尝试将信息发布到他们的 FB 帐户时,我收到此错误。

Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. 

知道这里发生了什么吗? 我还在我的网站上使用会话来跟踪内部用户 ID。不确定我的会话是否会导致问题。

这是我的上传脚本,出现错误。

require 'facebook/src/facebook.php';


// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => '12345678',
  'secret' => 'REMOVED',
  'fileUpload' => true, 
  'cookie' => true,
));
$facebook->setFileUploadSupport(true); 

$me = null;
// Session based API call.
if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}


// login or logout url will be needed depending on current user state.
if ($me) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}


$photo_details = array('message' => 'my place');
$file='photos/my.jpg'; //Example image file
$photo_details['image'] = '@' . realpath($file);
$upload_photo = $facebook->api('/me/photos', 'post', $photo_details);

只需检查当前 Facebook 用户 ID$user如果它返回 null 那么您需要重新授权用户(或使用自定义$_SESSION用户 ID 值 - 不推荐)

require 'facebook/src/facebook.php';


// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => 'APP_ID',
  'secret' => 'APP_SECRET',
));

$user = $facebook->getUser();

$photo_details = array('message' => 'my place');
$file='photos/my.jpg'; //Example image file
$photo_details['image'] = '@' . realpath($file);

if ($user) {
  try {
    // We have a valid FB session, so we can use 'me'
    $upload_photo = $facebook->api('/me/photos', 'post', $photo_details);
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}


// login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
// redirect to Facebook login to get a fresh user access_token
  $loginUrl = $facebook->getLoginUrl();
  header('Location: ' . $loginUrl);
}

我写了一个tutorial关于如何将图片上传到用户的墙上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

facebook Uncaught OAuthException:必须使用活动访问令牌来查询有关当前用户的信息 的相关文章

随机推荐

  • Struts2 从 JSP 访问枚举

    我有以下课程 package com test public class SomeClass public enum COLOR RED BLUE 我想访问的值COLOR我的 JSP 中的枚举 我已经尝试过以下代码 但它不起作用
  • Rspec 模拟:ActiveRecord::AssociationTypeMismatch

    我是 Rspec 新手 正在尝试为用户配置文件设置测试 个人资料属于用户 现在 我与通过用户模型工作的第三方网站进行了 API 集成 但该 API 链接的一些信息包含在配置文件中 因此我在配置文件上有一个 after update 过滤器
  • 两张表具有相同的列,还是一张表具有附加列?

    假设我有两个表 苹果和橙子 它们具有相同的列 只是表名不同 将其变成一个带有附加列 类型 的表 假设它称为 水果 然后存储 苹果 或 橙色 的值 是否有任何优点 缺点 编辑以澄清 创建表苹果 id 整数 权重整数 各种 varchar 25
  • Tomcat 无法找到我的 Servlet 并抛出异常,但为什么呢?

    我正在尝试进入 Java Web 开发 但似乎在 Tomcat 和一个极其简单的 servlet 方面遇到了一个奇怪的问题 每次我尝试加载应用程序时 catalina 日志都会喷出以下内容 Caused by java lang Illeg
  • 计算渐变颜色的最快方法?

    我正在制作一小部分与渐变相关的类型 函数以供将来使用 我想确保至少有两个过程 ColorBetween 和 ColorsBetween 我可能只想获取任意 2 种颜色 ColorsBetween 之间的 TColor 数组 并且我可能只需要
  • AWS SNS 是否将 apns-push-type 和 apns-priority 添加到其 iOS 推送通知标头中?

    根据Apple 的 APN 文档 从 http api 的 iOS 13 客户端开始must发送标头字段apns push type and apns priority否则请求将失败 果然 更新到 iOS 13 Beta 版的用户并没有收到
  • django staticfiles 是否跳过中间件?

    我正在运行 django 1 4 1 应用程序 我没有意识到只是包括django contrib staticfiles into INSTALLED APPS在您的设置中足以获得静态文件settings DEBUG是 True 即您不必手
  • 我的 Ubuntu 系统上有 Python,但 gcc 找不到 Python.h [重复]

    这个问题在这里已经有答案了 我在学校计算机上 所以无法安装任何东西 我正在尝试创建可以在 Python 中运行的 C 代码 看来我找到的所有文章都需要你使用 include
  • 何时使用 RSpec let()?

    我倾向于使用 before 块来设置实例变量 然后我在我的示例中使用这些变量 我最近遇到了let 根据 RSpec 文档 它用于 定义一个记忆辅助方法 该值将在同一示例中的多个调用之间进行缓存 但不会跨示例进行缓存 这与在 before 块
  • this.offset 不是点击函数中的函数

    错误在于 this offset不是一个函数 我将其记录到控制台 它是 li 我点击了元素 所以我很困惑为什么这不起作用 item click function e var this this var topx this offset to
  • 在android中反序列化JSON字符串

    我有如下所示的 JSON 字符串 Status Clear Class br name personA available 1 br name personB available 0 br name personC available 0
  • 高效删除 Django 中孤立的 m2m 对象/标签

    我有两个模型 照片和标签 通过 ManyToManyField 连接 class Photo models Model tags models ManyToManyField Tag class Tag models Model lang
  • 图表 JS 插件可根据值更改线条颜色

    我正在尝试创建一个折线图 其中线条 和点 的颜色取决于所绘制的值 例如 如果该值高于以下阈值 0 115 125 那么颜色将是 green yellow red 分别 该要求与本例中实现的要求几乎相同 https jsfiddle net
  • Linux 中的 FreeGLUT 链接问题

    我在跑步Linux 薄荷 14 1 64 位 我已经安装了以下库 台面通用开发 freeglut3 开发 libglew dev 通过apt get tool 这是我的包含内容 位于我的Main h file include
  • OpenCV imwrite 2.2 在 Windows 7 上导致异常,并显示消息“OpenCV 错误:未指定错误(无法找到指定扩展名的编写器)”

    我正在将 OpenCV 2 2 应用程序从 Unix 可以运行 移植到 Windows 7 64 位上 当调用 cv imwrite 时 我收到以下异常 OpenCV 错误 未知函数中出现未指定错误 无法找到指定扩展名的编写器 文件 hig
  • OpenGL 中的低分辨率模仿旧游戏

    我有兴趣知道如何在 OpenGL 中模仿旧游戏 如 Atari 2600 的低分辨率来制作 fps 游戏 我想最好的方法是将缓冲区写入纹理 放在四边形上并将其显示到屏幕分辨率 看看http www youtube com watch v E
  • 用python进行曲线拟合

    我正在尝试适应一些数据和东西 我知道有一个简单的命令可以使用 python numpy matplotlib 来执行此操作 但我找不到它 我认为这就像 popt popc numpy curvefit f x where popt是参数f
  • Flask 会话不会持续

    我最近部署了我的第一个 Flask 应用程序 实际上是第一个 Web 应用程序 我遇到的一个问题与会话有关 但没有运气追踪到 我正在做的是当用户登录时我设置session user user id发生的情况是 在发出涉及该会话密钥的请求时
  • Mac OS X 上的 Java Swing GUI

    您是否曾尝试使用 Swing 但最终却因为它无法实现您想要的功能而改变课程 我对 Swing 还很陌生 5 年前才将它用于学校项目 但似乎 Swing 在提供更原生的外观和感觉方面已经取得了很大的进步 以至于我正在考虑使用它来开发Mac O
  • facebook Uncaught OAuthException:必须使用活动访问令牌来查询有关当前用户的信息

    我一直在努力找出这是怎么回事 我的脚本运行良好一段时间 然后突然一半停止了 我正在访问 api 并取回访问令牌 有了访问令牌 我就可以很好地访问用户的公共信息 但是 当我尝试将信息发布到他们的 FB 帐户时 我收到此错误 Fatal err