似乎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(禁止),因此在此阶段无法前进。有谁知道如何让这个工作,甚至可能吗?
答案 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的方法,如果可以避免,就不想自己编写代码。