<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>python on </title>
    <link>/tags/python/</link>
    <description>Recent content in python on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 23 Apr 2026 17:45:00 +0800</lastBuildDate><atom:link href="/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用 gws 给 Python 脚本提供 Google OAuth 凭据时的一些注意点</title>
      <link>/posts/gws-auth-export-pitfalls/</link>
      <pubDate>Thu, 23 Apr 2026 17:45:00 +0800</pubDate>
      
      <guid>/posts/gws-auth-export-pitfalls/</guid>
      <description>背景与动机 gws 是一个面向 Google Workspace API 的命令行工具。它的定位很直接：用一套统一的 CLI 去访问 Drive、Gmail、Calendar、Sheets、Docs、Chat 等 API，并且直接输出结构化 JSON。按项目 README 的说法，它是 “built for humans and AI agents”，命令面还是根据 Google 的 Discovery Service 动态生成的。
这里有个事实要先说清楚：它不是 Google 官方正式支持的产品。README 明确写了 “This is not an officially supported Google product.” 所以更准确的说法不是“Google 正式推出了一个新 OAuth 工具”，而是 Google Workspace 生态里出现了一个很实用的开源 CLI，它试图把大量样板代码和认证细节集中到一个工具里。
跟传统的 Google OAuth 接法相比，gws 的好处主要在工程层面。按 Google 官方的 OAuth 2.0 文档 和 Desktop App 流程，自己接一次用户授权通常要处理 OAuth client、浏览器跳转、回调、refresh token 持久化、scope 管理，以及后续 token 刷新。对一个只是想操作 Google Calendar 的脚本或 skill 来说，这些步骤并不复杂，但很分散，也很容易把注意力从“我要调用哪个 Calendar API”转移到“我又把 OAuth 配错在哪里”。</description>
    </item>
    
    <item>
      <title>在 macOS 上本地部署 markitdown：将任意文档转为 Markdown</title>
      <link>/posts/markitdown-mac-install/</link>
      <pubDate>Sat, 18 Apr 2026 08:00:00 +0800</pubDate>
      
      <guid>/posts/markitdown-mac-install/</guid>
      <description>TL;DR markitdown 是微软开源的本地文档转换工具，支持 Word (.docx/.doc)、PowerPoint (.pptx)、Excel (.xlsx/.xls)、PDF、Outlook (.msg)、音频、YouTube 视频 等多种格式转为 Markdown。
全部计算在本地完成，不依赖任何外部 API 或 OpenAPI 服务。
为什么需要这个工具 在日常工作中，我们经常遇到需要将各种文档格式转为 Markdown 的场景：
知识库文档从 Word 迁移到 Markdown 格式 PPT 演示文稿内容提取 PDF 报告转为可搜索的文本 Excel 数据表格转为 Markdown 表格 在我的使用里，markitdown 目前比较好地覆盖了“格式转换”和“离线可用”这两个需求。
前置条件 markitdown 要求 Python 3.10+。macOS 自带的 Python 通常版本较低，需要通过 Homebrew 安装新版本。
1. 确认 Homebrew 可用 brew --version # Homebrew 5.x 2. 安装 Python 3.12 brew install python@3.12 安装路径：/opt/homebrew/bin/python3.12（Apple Silicon Mac）。
3. 创建虚拟环境 在项目目录下创建虚拟环境（我一般放在项目内，避免全局污染）：
/opt/homebrew/bin/python3.12 -m venv .</description>
    </item>
    
  </channel>
</rss>
