You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Meta广告库API脚本遇PermissionError[Errno13]权限拒绝求解决

问题描述

执行以下命令:

C:\Ad-Library-API-Script-Repository-main\python> py fb_ads_library_api_cli.py -t (token) -f "id,page_id,page_name,ad_creative_bodies,spend,demographic_distribution,bylines,ad_delivery_start_time" -c "CA" -s "climate" --after-date "2024-05-01" save_to_csv file.csv

出现权限错误:

Traceback (most recent call last):
File "C:\Ad-Library-API-Script-Repository-main\python\fb_ads_library_api_cli.py", line 147, in
main()
File "C:\Ad-Library-API-Script-Repository-main\python\fb_ads_library_api_cli.py", line 134, in main
save_to_csv(
File "C:\Ad-Library-API-Script-Repository-main\python\fb_ads_library_api_operators.py", line 96, in save_to_csv
with open(output_file, "w") as csvfile:
^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied.

曾尝试在fb_ads_library_api_operators.py中添加encoding="utf-8",仅成功获取一次数据,后续重复报错,对Graph API权限机制存在困惑。

解决方案

  • 明确:这个错误是本地文件系统权限问题,和Facebook Graph API权限无关,无需纠结Graph API权限机制。
  • 指定有写入权限的输出路径:不要直接使用file.csv,换成明确的、当前用户有权限写入的路径,比如桌面路径:
    save_to_csv C:\Users\你的用户名\Desktop\file.csv
    
  • 以管理员身份运行终端:右键终端程序,选择「以管理员身份运行」,再执行原命令。
  • 检查输出文件是否被占用:如果file.csv被Excel、WPS等程序打开,会导致文件锁定无法写入,关闭相关程序后重试。
  • 优化代码中的文件写入逻辑(可选):修改fb_ads_library_api_operators.py的save_to_csv函数,添加编码处理的同时,可增加文件存在时的覆盖确认或自动重命名逻辑,示例:
    def save_to_csv(data, output_file):
        import os
        # 若文件已存在,自动添加后缀避免覆盖
        if os.path.exists(output_file):
            name, ext = os.path.splitext(output_file)
            output_file = f"{name}_new{ext}"
        # 写入时指定编码
        with open(output_file, "w", encoding="utf-8", newline="") as csvfile:
            # 原代码的CSV写入逻辑保持不变
    

内容的提问来源于stack exchange,提问作者noradioactive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:18:14