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

Python应用中是否有YouTube API可将指定视频分享至Facebook和Twitter?

如何用Python将YouTube视频分享到Facebook和Twitter

嘿,我来帮你搞定这个问题!其实YouTube本身没有提供直接一键分享到Facebook/Twitter的API,但我们可以通过调用Facebook Graph API和X(原Twitter)API来实现核心需求:把YouTube视频链接作为帖子内容发布到这两个平台上。下面分平台给你具体的实现步骤和代码示例:

一、分享到Facebook

前置准备

你需要先在Facebook开发者平台完成以下操作(跟着平台引导走就行,步骤很清晰):

  • 创建一个新的Facebook应用
  • 申请对应的发帖权限:如果是分享到个人主页,申请user_posts权限;如果是分享到公共主页,申请pages_manage_posts权限
  • 生成长期有效的访问令牌(短期令牌有效期只有1小时,长期令牌可以用几个月,更适合脚本使用)

Python代码实现

我们用requests库来调用Graph API,代码示例如下:

import requests

def share_youtube_to_facebook(youtube_url, access_token, page_id=None, message="Check out this YouTube video!"):
    # 确定发帖端点:个人主页用/me/feed,公共主页用/{page_id}/feed
    endpoint = f"https://graph.facebook.com/{page_id if page_id else 'me'}/feed"
    params = {
        "link": youtube_url,
        "message": message,
        "access_token": access_token
    }
    response = requests.post(endpoint, params=params)
    if response.status_code == 200:
        print("视频已成功分享到Facebook!")
        return response.json()
    else:
        print(f"分享失败,错误信息:{response.json()}")
        return None

# 使用示例
YOUTUBE_URL = "https://www.youtube.com/watch?v=你的视频ID"
FACEBOOK_ACCESS_TOKEN = "你的长期访问令牌"
FACEBOOK_PAGE_ID = "你的公共主页ID(可选,不填则分享到个人主页)"

share_youtube_to_facebook(YOUTUBE_URL, FACEBOOK_ACCESS_TOKEN, FACEBOOK_PAGE_ID)

二、分享到X(原Twitter)

前置准备

同样需要在X开发者平台完成:

  • 创建一个新项目,获取API Key、API Secret Key
  • 创建Access Token和Access Token Secret(确保权限包含发帖权限)

Python代码实现

这里推荐用tweepy库(专门针对X API的Python封装),先通过pip install tweepy安装,然后代码示例:

import tweepy

def share_youtube_to_twitter(youtube_url, api_key, api_secret, access_token, access_token_secret, message="Check out this awesome YouTube video!"):
    # 认证
    auth = tweepy.OAuthHandler(api_key, api_secret)
    auth.set_access_token(access_token, access_token_secret)
    
    # 创建API对象
    api = tweepy.API(auth)
    
    try:
        # 发布包含YouTube链接的推文
        status = f"{message} {youtube_url}"
        api.update_status(status=status)
        print("视频已成功分享到X(Twitter)!")
        return True
    except Exception as e:
        print(f"分享失败,错误信息:{str(e)}")
        return False

# 使用示例
YOUTUBE_URL = "https://www.youtube.com/watch?v=你的视频ID"
TWITTER_API_KEY = "你的API Key"
TWITTER_API_SECRET = "你的API Secret Key"
TWITTER_ACCESS_TOKEN = "你的Access Token"
TWITTER_ACCESS_TOKEN_SECRET = "你的Access Token Secret"

share_youtube_to_twitter(YOUTUBE_URL, TWITTER_API_KEY, TWITTER_API_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET)

额外注意事项

  • 两个平台的API都有调用频率限制,不要短时间内大量发帖,否则会被限流
  • 访问令牌要妥善保管,不要泄露给他人,否则别人可以用你的账号发帖
  • 如果是分享到公共主页,确保你拥有该主页的管理权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:18:00