Facebook PHP API 登录时抛出异常

2024-05-12

我尝试使用 Facebook Graph API 登录并获取用户信息。我用来获取用户信息的代码以前可以工作,但今天我尝试使用 Facebook 登录,但 Facebook API 抛出此错误。

未定义的偏移量:1 /home/****/vendor/facebook/php-sdk-v4/src/Facebook/Http/GraphRawResponse.php 第 108 行

该行位于此函数中:

public function 
setHttpResponseCodeFromHeader($rawResponseHeader)
{
    preg_match('|HTTP/\d\.\d\s+(\d+)\s+.*|', $rawResponseHeader, $match);
    $this->httpResponseCode = (int)$match[1]; // <---- HERE
}

我的代码:

    $fb = new Facebook([
        'app_id' => Data::get('fbAppId'),
        'app_secret' => Data::get('fbAppSec'),
        'default_graph_version' => 'v2.5',
    ]);

    $helper = $fb->getRedirectLoginHelper();
    $_SESSION['FBRLH_state'] = $_GET['state'];

    try {
        $accessToken = $helper->getAccessToken();
        $_SESSION['token'] = $accessToken;
        DB::table('settings')->where('userId', Auth::user()->id)->update(['fbAppToken' => $accessToken]); // save user access token to database
        $this->saveFbPages(); // save facebook pages and token
        $this->saveFbGroups(); // save facebook groups to database

    } catch (FacebookResponseException $e) {
        // When Graph returns an error
        return '[a] Graph returned an error: ' . $e->getMessage();

    } catch (FacebookSDKException $e) {
        // When validation fails or other local issues
        return '[a] Facebook SDK returned an error: ' . $e->getMessage();

    }

请打开第 107 行 /home/xxxxxx/public_html/vendor/facebook/graph-sdk/src/Facebook/Http/GraphRawResponse.php 当前代码:

preg_match('|HTTP/\d.\d\s+(\d+)\s+.*|',$rawResponseHeader, $match);

您可以将代码编辑为:

preg_match('/HTTP\/\d(?:\.\d)?\s+(\d+)\s+/',$rawResponseHeader, $match);

这对我来说就像魅力一样。我希望,这也能解决您的问题。感谢您提出这个美丽的问题。

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

Facebook PHP API 登录时抛出异常 的相关文章

  • 获取本周星期一和星期五的日期 (PHP)

    如何获取本周周一和周五的日期 我有以下代码 但如果当天是星期日或星期六 则会失败 current day date N days to friday 5 current day days from monday current day 1
  • 如何从 PHP 的 sha256 加密迁移到 bcrypt?

    登录 rows sql gt fetch PDO FETCH ASSOC us id rows id us pass rows password us salt rows password salt status rows attempt
  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • PHP 中 C# 的空合并运算符 (??)

    PHP 中是否有三元运算符或类似的操作符 of C 在 C 中是干净且简短的 但在 PHP 中你必须执行以下操作 This is absolutely okay except that REQUEST test is kind of red
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4
  • 如何在 jQuery.knob 中添加值后缀

    我有问题jQuery knob http anthonyterrien com knob 我需要添加一个Sufixx至旋钮中的值 例如 我需要一个后缀 数值后 我只是输入数值字段 它会显示 但此时旋钮不会显示状态 它不会显示旋钮状态 但后缀
  • Google BigQuery 与 PHP 集成

    我需要帮助将 google bigquery 代码集成到 PHP 中 所以我可以从 php 代码本身执行查询和其他类型的操作 需要您的帮助并建议我一些工作示例链接 提前致谢 这是一段代码 正确地创建一个Google Client using
  • 如何在 nginx 反向代理后面安全地检测 CakePHP 中的 SSL?

    CakePHP 我见过的所有版本 检查 SERVER HTTPS 查看请求是否是通过 HTTPS 而不是普通 HTTP 发出的 我使用 nginx 作为负载均衡器 后面是 Apache 应用程序服务器 由于 SSL 连接在负载均衡器处终止
  • 如何在函数内部使用 require_once [重复]

    这个问题在这里已经有答案了 你好 我想在函数内使用 require once 但不起作用 实际上我的页面中有三个函数我该怎么做 它在外面工作但不在函数内部 请问有谁吗 这是我的代码
  • 致命错误:未捕获错误:调用未定义的函数 bcadd()

    安装 eduTrac SIS 并访问 仪表板 后出现此错误 Ubuntu 16 4 PHP 7 0 php7 0 fpm Apache2 Nginx URL 给出错误 500 并显示 nginx error log FastCGI 在 st
  • 如何通过传递国家代码或国家名称在php中获取时区

    我使用一些 api 有国家代码和国家名称 有什么方法可以在 php ini 中获取给定国家代码和国家名称的时区 我有这样的数据 address Object city continent Asia continent code AS cou
  • Symfony2 安全性 @Secure 注释不起作用

    我正在尝试使用注释来保护我的控制器 namespace Vinny StreamBundle Controller use Symfony Bundle FrameworkBundle Controller Controller use J
  • PHP 中 glob() 中的转义空格?

    我在 PHP 中有以下函数 除了名称中带有空格的文件外 该函数运行良好 Good picture jpg例如 这里是 function getphotolist currentalbum photos glob currentalbum J
  • 在 PHP 中读取“分块”POST 数据

    我试图在发送时使用 Transfer Encoding chunked 从请求中读取 POST 数据 但在收到所有数据之前无法启动脚本 是否可以让 PHP能够在分块请求通过时对其做出反应吗 将 PHP 5 3 8 与 Apache 结合使用
  • Netbeans (PHP) 中的变量类型提示

    只是好奇 Netbeans 中是否有一种方法可以为常规变量提供类型提示 以便智能感知能够识别它 我知道你可以对类属性 函数参数 返回类型等执行此操作 但我不知道如何对常规变量执行此操作 当您有一个可以返回不同对象类型 如服务定位器 的方法时
  • 使用 AJAX 来回发送信息

    使用 post 你可以向服务器发送信息 但是当你需要从服务器接收信息时怎么办呢 信息如何从可以由 php 变量保存的方式变为可以由 javascript 变量保存的方式 反之亦然 这与您的问题更相关 http docs jquery com
  • PHP fscanf 与 fgets

    我可以使用读取一行中的整个字符串fgets but fscanf 没有这样做 根据PHP手册 fscanf 根据格式解析文件的输入 功能fscanf 类似于sscanf 但它从与句柄关联的文件中获取输入 并根据指定的格式解释输入 这在文档中
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • 在子目录中使用反向代理运行 Symfony 5

    我喜欢在反向代理后面运行 Symfony 5 应用程序 该代理提供以下端点 https my domain service1 https my domain service1 代理配置基本上是这样的 ProxyPass marketsy h

随机推荐

  • IOS Swift 从数组中搜索表

    我刚刚开始学习 swift 我正在研究 tableview 和 searchbar 功能 下面我有我的数组 它是水果列表 var fruits String Apple Green Pear Green Banana Yellow Oran
  • 从 EC2 W2008 实例创建 AMI - 为什么从来没有获得密码?

    我正在尝试做什么 我正在尝试克隆 EC2视窗2008通过管理控制台实例 该实例基于 Windows Server2008 i386 Base v104 ami 92ba43fb 但上面安装了许多应用程序 我想为新实例保留这些应用程序 发生了
  • Bootstrap 3 水平滚动行网站设计

    我正在尝试使用 bootstrap 3 制作水平滚动网页 This http fiddle jshell net ravimallya 7kCTD 2 show 是我到目前为止所尝试过的 media min width 768px cont
  • 基于多种条件的SSRS查找

    我有一个数据集 卷 如下所示 在我的报告中 我想要得到的是 查找表达式 Lookup Fields Id Value Fields Id Value Fields Volume Value Volume 只能根据 ID 进行查找 有什么方法
  • MVC Core IActionResult 含义

    什么是IActionResult 我尝试查看 MSDN 和其他网站 但需要通用 常见 易于理解的答案 MSDN IActionResult https learn microsoft com en us dotnet api microso
  • 如果文件已在服务器上,请避免使用 git-ftp 上传

    假设我有应用程序的本地副本 我将其推送到 github 然后使用 git ftp 将任何更改上传到我的服务器 我首先会使用 git ftp init u
  • 用于防止滥用的 Servlet 过滤器? (DoS、垃圾邮件等)

    我正在寻找一个 Servlet 过滤器库 它可以帮助我保护我们的 Web 服务免受未经授权的使用和 DDoS 攻击 我们的网络服务有 授权客户 因此理想情况下 过滤器将帮助检测未经授权或行为不当的客户 或检测使用同一帐户的多个人 此外 我们
  • sails js 数据关系

    sails js 是否支持模型 集合之间的关系 如果是这样 有人可以指出文档吗 例如 我有 2 个模型 1 生产 production name string description text 2 Album album name stri
  • SSIS - 将参数传递给 ADO .NET 源查询

    我知道早些时候已经有人问过这个问题 大多数答案都不相关 谷歌了一下 显示解决办法是在 数据流任务 中配置表达式并设置查询 然而 在 ADO NET 源中 当我尝试预览输出时 我不断收到 Must declare the variable 它
  • 按给定日期获取上周一和下周一的日期[重复]

    这个问题在这里已经有答案了 我们如何通过提供的日期获取上一周星期一日期和下周星期一日期 示例 if date 2015 04 08 年月日格式 然后函数返回 上周一日期 2015 03 30 下周一日期 2015 04 13 echo Ne
  • jQuery 在附加元素后立即返回 div 元素的高度 0

    我有一个浮动 div 最初没有内容 我使用 jQuery 将一组元素附加到 div 然后立即调用原始 div 的 height 方法 我添加的元素在样式表中具有定义的最小高度 而浮动 div 则没有 问题是 当我在原始 div 上调用 he
  • 尝试读取转储时“无法加载符号”

    我的一个应用程序有时会在 Win XP 计算机上导致 BSOD 为了了解更多信息 我加载了生成的 dmp 文件 来自 C Windows Minidump 但在执行此操作时在大部分读数中收到此消息 Symbols can not be lo
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 无法发出桥接标头的预编译标头

    我从 GitHub 下载了一个项目 然后 pod 了以下文件 其中一些文件是由 OBJ C 编写的 我使用了桥接头 pod SnapKit pod MJRefresh pod Alamofire pod Kingfisher pod MBP
  • 为什么在 C# 中成员初始值设定项中不允许这样做,但在 VB.Net Me 中允许

    我正在将 VB Net 应用程序转换为 C 并注意到在 VB Net 代码中 有一个私有成员变量 它是使用Me像这样 Private m ClassA As New MyCollection Of ClassA Me 当我将其转换为 C 代
  • 使用nginx容器作为反向代理时的原始url

    我有一个 Web 应用程序部署为码头集装箱 我也有一个nginx容器 使用dnsmasq解析器 设置为充当 Web 应用程序前面的反向代理 它的 80 端口映射到主机 我的应用程序使用 SSO 身份验证 当我使用身份提供商登录时 回调 ur
  • 无法在 Mac OS X 上启动应用程序 我收到错误 LSOpenURLsWithRole() 应用程序失败,错误为 -10810

    问题 我正在尝试启动一个应用程序 遗传网络分析仪 http www genostar com category products gna 但它默默地失败了 使用时open gna app产生以下错误消息 LSOpenURLsWithRole
  • PHP 计数器在 while 循环中递增

    我在一个 while 循环中增加计数器时遇到问题 基本上我只想在数据库中获取的两个图像链接之间交替 但我的计数器不会增加 我不确定为什么有人可以提供帮助 while row stmt gt fetch PDO FETCH ASSOC img
  • 面向服务的架构通信标准

    我过去致力于构建使用面向服务的架构构建的数据处理应用程序 我有一系列服务 这些服务全部由主服务管理 该主服务将串行调用所有服务来处理我的数据 我遇到了一些我不喜欢的事情 因为服务必须向主服务提供状态和错误反馈 而我必须从头开始编写所有代码
  • Facebook PHP API 登录时抛出异常

    我尝试使用 Facebook Graph API 登录并获取用户信息 我用来获取用户信息的代码以前可以工作 但今天我尝试使用 Facebook 登录 但 Facebook API 抛出此错误 未定义的偏移量 1 home vendor fa