您可以单独使用Python请求查询YouTube API v3吗?

时间:2017-03-08 11:34:29

标签: python youtube-api python-requests youtube-data-api

似乎v2是很久以前创建的,所以我专注于满足我的需求v3。 v3的Python代码示例均为very long,虽然我已在我的Google帐户和API密钥中创建了一个项目,但已下载client_secrets.json

{
  "installed": {
    "client_id": "********",
    "project_id": "my-project",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_secret": "***********",
    "redirect_uris": [
      "urn:ietf:wg:oauth:2.0:oob",
      "http://localhost"
    ]
  }
}

到目前为止,代码示例没有取得多大进展。

所以我正在测试一些更简单的东西,只是为了让Python Requests library来提取这个请求 -

GET https://www.googleapis.com/youtube/v3/videoCategories

在官方v3文档here中找到。

使用以下代码与上面的json中的元素:

import requests
r = requests.get("https://www.googleapis.com/youtube/v3/videoCategories", auth=(client_id, client_secret))
r.status_code

这是返回403(禁止),因此在此阶段无法前进。有谁知道如何让这个工作,甚至可能吗?

1 个答案:

答案 0 :(得分:1)

void Start() { StartCoroutine(DoThings((text) => { Debug.Log("Dothings told me: " + text); })); } IEnumerator DoThings(Action<string>() callback) { yield return StartCoroutine(DoThisFirst()); callback("Returning a value mid-method!"); yield return StartCoroutine(ThenThis()); Debug.Log(3); } IEnumerator DoThisFirst() { yield return new WaitForSeconds(1); Debug.Log(1); } IEnumerator ThenThis() { yield return new WaitForSeconds(1); Debug.Log(2); } 表示您无权访问您要执行的操作。您应该检查从服务器获取的完整错误消息,通常只有那个。

videoCategories.list是一种公共方法,可以从Google Developer Console获取API密钥,并在最后添加

  

https://www.googleapis.com/youtube/v3/videoCategories?key=yourkey

使用官方Google python client library将使您的生活更加轻松。一旦开始使用需要Oauth2的方法,如果可以避免,就不想自己编写代码。