如何通过将authorize_token添加到标头来使用瞬态更新Wordpress插件

2023-12-12

我正在尝试使用瞬态自动更新我的 WordPress 插件。 我有一个可以工作,但它添加了authorize_token来查询参数,如下代码所示。

        $new_files = $this->github_response['zipball_url']; // Get the ZIP
        ***$package = add_query_arg(array("access_token" => $this->authorize_token), $new_files);***
        $slug = current( explode('/', $this->basename ) ); // Create valid slug

        $plugin = array( // setup our plugin info
          'url' => $this->plugin["PluginURI"],
          'slug' => $slug,
          'package' => $package,
          'new_version' => $this->github_response['tag_name']
        );

        $transient->response[$this->basename] = (object) $plugin;

但我收到了来自 github 的电子邮件,说我应该将authorize_token 添加到标头中。

我试图通过谷歌找到解决方案,但找不到。 我该如何修复它?


我认为您必须向 http_request 添加一个过滤器。因此,当 wordpress 尝试任何 http 请求时,它将通过您的过滤器。然后在该过滤器中,您可以检查 url,如果它是您的插件源 url,则可以将 accessToken 添加到标头。 该方法位于我的更新程序类中,并且我在初始化更新程序时设置了类属性 accessToken 和用户名。

add_filter( "http_request_args", array( $this, "addHeaders") , 10, 3);

public function addHeaders($parsed_args, $url)
{
    if(empty($parsed_args['headers']))
    {
        $parsed_args['headers'] = [];
    }

    if(strpos($url, "https://api.github.com/repos/{$this->username}/{$this->repo}") !== FALSE)
    {
        $parsed_args['headers']['Authorization'] = "token $this->accessToken";
        error_log("Adding token for : $url");
    }
    else
    {
        error_log("Not adding token for $url");
    }
    return $parsed_args;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过将authorize_token添加到标头来使用瞬态更新Wordpress插件 的相关文章

随机推荐

  • 如何使用外部库 JAR 在终端中运行 Java 程序

    这应该很简单 但我以前从未这样做过 也没有找到任何解决方案 我目前正在使用 Eclipse 来编写我的程序 它导入一些外部 JAR 库 例如 google data api 库 我可以使用 Eclipse 来编译 构建 运行该程序 但现在我
  • 在表中打印查询结果

    如果我有一个名为 info 的 MySQL 表 如下所述 并且我想打印出一个 HTML 表 如下所述 我该怎么做 MySQL表中的字段 id subject category actions date status HTML 表格结构 两列
  • 从生成的表中检索数据时对象名称“dbo.TableName”无效

    我首先使用实体 框架代码来创建我的表 请注意 创建表 而不是数据库 因为我正在托管环境中工作 并且没有允许创建数据库的用户 提交数据库更新工作正常 但检索数据会出现异常 异常详细信息 System Data SqlClient SqlExc
  • 无法使用 SMO 枚举 SQL Server 2008 注册服务器

    我的工作站上安装了 SQL Server 2005 Management Studio 此后我安装了 SQL Server 2008 工作站工具并删除了 SQL Server 2005 工具 我现在正在编写一个 C 程序 它会迭代我在 Ma
  • Javascript removeEventListener 不起作用 - 事件侦听器仍然存在

    我已经研究了一些解决这个问题的方法 但我不能真正告诉 我的代码是 lb document body if lb addEventListener lb addEventListener keyup function event keyPre
  • 在文本后添加格式化符号,保留预先存在的文本的字符格式

    我想在单元格中的现有文本后插入红色勾号 或向下箭头 如何插入字符和retain单元格中预先存在的字符格式 我只对这些单元格内的一些单词进行粗体 下划线或着色 通常建议的代码将原始单元格内容的所有自定义字符格式恢复为单元格字体格式 Activ
  • 查找字符串中搜索词的所有索引

    我需要一种快速方法来查找字符串中可能出现的搜索词的所有索引 我尝试过这种 蛮力 String扩展方法 Note makes use of ExSwift extension String var length Int return coun
  • 如何向使用点阵制作的水平图添加线条(abline 不知何故不起作用)?

    我想在水平图上绘制水平线和垂直线 对应于从 74 到 76 的 x 值和从 28 到 32 的 y 值 下面是我的 R 代码 但是当我运行以下命令时 我得到了水平图 但没有线条 我也没有收到来自 R 的错误 我安装的默认主题是将值映射为粉色
  • 单实例批处理文件?

    dostuff bat echo off insert long running process call here End 如果该批处理文件在执行时已经在另一个进程中运行 我可以向该批处理文件添加什么以使其终止 好吧 如果只能有一个实例
  • 需要在单个事务中将数据存储在 SqlAzure 和表存储中。

    我的应用程序有一个场景吗 我需要将历史数据存储在表存储中 将主要数据存储在 Sql Azure 中 即 如果数据发生更新 历史数据应移动到 Azure 表存储 并且新修改的数据应在单个事务中在 Sql Azure 中更新 如果任何一个数据库
  • 与 PHP 共享 Laravel 身份验证/会话

    我正在尝试将 Laravel 身份验证与许多简单的 HTML Javascript 应用程序一起使用 我认为理想的工作方式是这样的 用户访问简单的 HTML 应用程序 这个简单的 HTML 应用程序包含一个 PHP 文件 该文件检查是否 用
  • 如何使用 pack 将一个小部件放在并排的小部件下方?

    我尝试像这样放置小部件 我不明白为什么我的代码不这样做 试图在网上寻找示例 但没有找到解决方案 而且我尝试的任何方法都没有让我更接近所请求的结果 到目前为止 这是我的代码 如果您对代码中的任何内容有任何评论 请随时告诉我 因为这是我第一次尝
  • 从 PAT 部分 (MPEG-TS) 读取信息

    我正在编写一个 MPEG TS 文件解析器 但我一直坚持从 PAT 部分获取 program numbers 和 PID 我正在使用数据包分析器来比较我的结果 例如 这是一个 PAT 数据包 47 40 00 16 00 00 B0 31
  • 返回非静态本地对象时选择复制构造函数而不是移动构造函数

    我曾经假设类的移动构造函数将优先于其复制构造函数 但在下面的代码中 即使对象应该是可移动的 似乎也会选择复制构造函数 你知道为什么下面的代码选择复制构造函数吗foo 回报vector b B include b
  • 如何有条件地启用或禁用 Spring 中的计划作业?

    我在 Spring 中使用 cron 样式模式定义计划作业 使用 Scheduled注解 cron 模式存储在配置属性文件中 实际上有两个属性文件 一个是默认配置 另一个是依赖于环境的配置文件配置 例如开发 测试 产品客户 1 产品客户 2
  • 列出具有完全限定名称的所有子类

    我想获取给定类的所有子类及其完全限定名称的列表 我想从 Eclipse 复制它并粘贴到文本文件中 如下所示 some package Class1 some package Class2 some other package Class3
  • npm 未安装始终返回错误

    我试图安装这个 搜索 git whodotheyserve com 但这个错误始终出现 无论我尝试什么 我尝试过安装其他版本的 npm 但 npm测试 出现错误 npm 运行脚本任务 也返回错误 这种情况始终如一地发生 此外 我正在遵循该项
  • PDO值增量PHP,Mysql [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 大家好 我正在开发一个用于处理活动现场的项目 我正在尝
  • Hibernate:复合 PK 与代理 PK 的观点

    据我了解 每当我在 JPA Hibernate 实体内的 Long 字段上使用 Id 和 GenerateValue 时 我实际上是在使用代理键 并且我认为这是定义主键的一种非常好的方法 考虑到我的不 使用复合主键的良好体验 其中 超过1个
  • 如何通过将authorize_token添加到标头来使用瞬态更新Wordpress插件

    我正在尝试使用瞬态自动更新我的 WordPress 插件 我有一个可以工作 但它添加了authorize token来查询参数 如下代码所示 new files this gt github response zipball url Get