You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何为YouTube Data API请求添加API密钥以完成授权?

如何为YouTube Data API请求添加API密钥?

嘿,这事儿其实挺简单的,我帮你拆解清楚,再针对你提到的search/list接口代码片段做具体修改:

第一步:先搞定可用的API密钥

首先得在Google Cloud控制台完成基础配置:

  • 创建或选择一个项目,然后启用YouTube Data API v3
  • 生成一个API密钥(记得给密钥加个用途限制,比如只允许调用YouTube Data API,别留成全局可用,安全第一)

第二步:给请求添加密钥的具体方式

不管你是直接发HTTP请求还是用官方SDK,核心都是把密钥作为参数传入。

直接发送HTTP请求的情况

官方文档里的search/list基础请求是这样的:

GET https://www.googleapis.com/youtube/v3/search?part=snippet&q=surfing&maxResults=25

你只需要在URL末尾追加&key=你的API密钥就行,修改后如下:

GET https://www.googleapis.com/youtube/v3/search?part=snippet&q=surfing&maxResults=25&key=YOUR_API_KEY_HERE

Python SDK示例(修改官方代码片段)

官方给出的无密钥Python代码大概是这样:

from googleapiclient.discovery import build

youtube = build('youtube', 'v3')

request = youtube.search().list(
    part='snippet',
    q='surfing',
    maxResults=25
)
response = request.execute()

要添加密钥,只需要在build方法里传入developerKey参数:

from googleapiclient.discovery import build

# 替换成你的实际API密钥
YOUR_API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

youtube = build('youtube', 'v3', developerKey=YOUR_API_KEY)

request = youtube.search().list(
    part='snippet',
    q='surfing',
    maxResults=25
)
response = request.execute()

JavaScript浏览器端示例

如果用浏览器端的gapi库,官方基础代码可以改成这样:

gapi.load('client', () => {
  gapi.client.init({
    'apiKey': 'YOUR_API_KEY_HERE', // 在这里添加你的API密钥
    'discoveryDocs': ['https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest'],
  }).then(() => {
    return gapi.client.youtube.search.list({
      'part': 'snippet',
      'q': 'surfing',
      'maxResults': 25
    });
  }).then((response) => {
    console.log(response.result);
  });
});

⚠️ 注意:浏览器端使用API密钥时,一定要在Google Cloud控制台给密钥设置HTTP referrer限制,避免被滥用。

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

火山引擎 最新活动