当前位置: 首页 > news >正文

( github actions + workflow 03 ) 手动添加 token, 防止权限不够

1. 起因, 目的:

  • 建议都添加 token, 防止权限不够,报错 403
  • 这事情原因很简单,但是操作很麻烦, 因为需要手动点击,找到各种按钮的位置。
  • 这种事情,第一次比较麻烦,做过一遍, 有个模板,下次会很快。

2. 先看效果

报错的地方
在这里插入图片描述

修复之后,一切正常,能自动运行!
在这里插入图片描述

3. 过程:

问题背景

在使用 GitHub Actions 时,可能会遇到权限不足导致的 403 错误。这通常是因为默认的 GITHUB_TOKEN 权限限制或者 API 访问限制导致的。

解决方案

1. 创建个人访问令牌(Personal Access Token)

申请一个 token, 放在常用的地方。

2. 在仓库中添加密钥

  1. 进入需要配置的仓库
  2. 点击 SettingsSecrets and variablesActions
  3. 点击 New repository secret
  4. 添加新密钥:
    • Name: PAT (或其他易记的名称)
    • Value: 粘贴之前生成的个人访问令牌
    • 点击 Add secret

3. 在 Workflow 中使用令牌

我的 workflow 文件


# 工作流名称,在 GitHub Actions 界面显示
name: 爬虫自动化# 触发条件:每5分钟运行一次,或手动触发# - cron: '0 */5 * * *'  #  每5个小时触发一次
# - cron: '*/5 * * * *'  # 每5分钟触发
# - cron: '0 4 * * *'    #  每天中午12点触发一次on:schedule:- cron: '0 */2 * * *'  #  每2个小时触发一次workflow_dispatch:      # 支持手动触发,方便测试# 新增!允许推送代码更改
permissions:contents: write          # 允许推送代码更改# 定义任务
jobs:run-crawler:# 使用最新的 Ubuntu 环境runs-on: ubuntu-latest# 执行步骤steps:# 步骤1:拉取仓库代码- name: 拉取代码uses: actions/checkout@v4# 步骤2:设置 Python 环境- name: 配置 Pythonuses: actions/setup-python@v5with:python-version: '3.9'  # 使用 Python 3.9# 步骤3:安装依赖(如果有 requirements.txt)- name: 安装依赖run: |if [ -f requirements.txt ]; thenpip3 install -r requirements.txtfi# 步骤4:打印当前时间,方便调试- name: 打印运行时间run: echo "now is >>> $(date)"# 步骤5:运行爬虫脚本- name: 运行爬虫run: python3 news_spider/peng_pai_02.py# 步骤6:提交生成的 CSV 文件到仓库- name: 提交 CSV 文件if: success()env:MY_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}run: |git config --global user.name "github-actions[bot]"git config --global user.email "github-actions[bot]@users.noreply.github.com"git add csv_data/peng_pai_news_*.csvgit commit -m "添加新爬虫数据: peng_pai_news_$(date +%Y%m%d_%H%M%S).csv" || echo "没有新文件提交"git push https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }} HEAD:${{ github.ref_name }}

4. 结论 + todo

  • 小问题,就是麻烦。

希望对大家有帮助。

相关文章:

  • 价格性价比高系列的高性能单片机MS32C001-C
  • 新加坡金融管理局责令未获许可加密货币公司于6月30日前退出,Bitget、Bybit考虑撤离
  • 大模型在关键社会领域的应用研究:金融、医疗和法律
  • 河南农担携手Gitee企业版:构建农业金融数字化研发新基建
  • Vue.js 从入门到实战:用户管理分页表格项目详解
  • 需求文档:边缘计算机软件重装与物联网登录应用开发
  • Fastadmin报错Unknown column ‘xxx.deletetime‘ in ‘where clause
  • Catch2 开源库介绍与使用指南
  • 微机原理与接口技术,期末习题(一)
  • 一[1]、ubuntu18.04 安装yolov8 + 实际测试
  • 【精华】双向心跳交互革命:AG-UI协议重塑AI Agent前端开发范式
  • [论文阅读] 人工智能 | ComfyUI-R1: Exploring Reasoning Models for Workflow Generation
  • Python 爬虫入门 Day 1 - 网络请求与网页结构基础
  • 力扣HOT100之技巧:75. 颜色分类
  • 三、DevEco Studio安装和HelloWorld应用
  • 鸿蒙期末总结
  • 纯血HarmonyOS ArKTS NETX 5 打造小游戏实践:狼人杀(介绍版(附源文件)
  • React16,17,18,19更新对比
  • springboot后端与鸿蒙的结合
  • 算法导论第一章:算法基础与排序艺术
  • 甘肃网站怎样备案/搜索引擎关键词seo优化公司
  • 济南优化网站排名/漯河网站推广公司
  • 可以做盗版漫画网站吗/做关键词优化
  • wordpress主题不显示图片/aso榜单优化
  • 一级做a免费体验区不用下载网站/全网营销推广方案外包
  • 网站开发需要了解的知识/it培训学校