我的帐户已连接到 CMS,但我在 API 库中看不到 Youtube 内容 ID。但是,我在启用的 API 中看到了它!(它出现在我在 Youtube Content ID API 参考文档中尝试“使用 OAuth 2.0 授权请求”之后)。我可以在参考文档中测试 API,它会显示来自我的 CMS 的数据。但是当我从我的程序中调用 API 时,响应总是这样:{ "error": { "errors": [ { "domain": "global", "reason": "notFound", "message": "Not Found" } ], "code": 404, "message": "Not Found" }}这是我使用 Go 的实现:func TestYoutubeAPI(w http.ResponseWriter, r *http.Request) { data, err := ioutil.ReadFile("./google-service-key.json") if err != nil { log.Fatal(err) } config, err := google.JWTConfigFromJSON(data, "https://www.googleapis.com/auth/youtubepartner", "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtube") if err != nil { log.Fatal(err) } client := config.Client(oauth2.NoContext) request, _ := http.NewRequest("GET", "https://www.googleapis.com/youtube/partner/v1/assetSearch", nil) request.Header.Add("Accept", "application/json") query := request.URL.Query() query.Add("createdAfter","2015-01-29T23:00:00Z") query.Add("key", "XXX") request.URL.RawQuery = query.Encode() response, err := client.Do(request) if err != nil { fmt.Fprintln(w, err) } else { responseBody, _ := ioutil.ReadAll(response.Body) fmt.Println(response.Status) fmt.Fprintln(w, string(responseBody)) }}其他 API(Youtube 数据 API)可以正常使用此代码。但是,我无法使用 Youtube Content ID API 获得预期的结果。任何有这方面经验的人请帮助我。谢谢你。
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
我找到了答案!
因为我使用Google Service Account与 Google API 进行交互。它似乎创建了一个新的用户帐户。所以我必须通过将服务帐户客户端电子邮件添加到 Youtube CMS 来授予对 Youtube CMS 的权限。最后,我可以使用 API 访问 Youtube CMS。
- 1 回答
- 0 关注
- 239 浏览
添加回答
举报
0/150
提交
取消