gpt4 book ai didi

objective-c - YouTube API v3 示例项目引发 GTLJSONRPCErrorDomain -32602 错误请求错误

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:20 26 4
gpt4 key购买 nike

我刚刚下载了 Google API objective C client .我在 Mac 上的 Xcode 中打开了 YouTube 示例项目。它可以正确构建和运行。

我用 Google APIs 注册了一个项目,并为已安装的应用程序创建一个客户端 ID,选择 iOS 并输入示例代码的 Bundle ID,com.example.YouTubeSample。我将 App Store ID 留空并禁用深度链接。

我将生成的客户端 ID 和客户端密码输入到示例应用中。我也通过该应用程序的窗口登录了 Google,它告诉我我已登录。

我独立地去了 YouTube 并上传了一个 1Mb 的 .mov 文件,上传正常(尽管它告诉我可能存在音频/视频同步问题)。

然后我通过示例应用程序上传了相同的文件。完成后,它给了我错误:

Error Domain=com.google.GTLJSONRPCErrorDomain Code=-32602 
"The operation couldn’t be completed. (Bad Request)"
UserInfo=0x.... {error=Bad Request, NSLocalizedFailureReason=(Bad Request),
GTLStructuredError=GTLErrorObject 0x...:
{message:"Bad Request" data:[1] code:-32602}}

(由于示例应用程序适用于 Mac OS 而不是 iOS,我还尝试在 Google API 中为“其他”类型的已安装应用程序创建第二个客户端 ID。我将这个新 ID 和密码输入到示例应用程序中,当我上传 .mov 文件时,我遇到了同样的错误。)

在 API 控制台中,我看到一份错误报告显示了一些新的错误代码 400。

我做错了什么?

谢谢!

最佳答案

YouTube API 在它返回的 NSError 对象中打包了一个“结构化错误”对象。结构化错误是一个 GTLErrorObject,可以检查它以找出错误原因:

uploadTicket = [service executeQuery:query 
completionHandler:^(GTLServiceTicket* ticket, id object, NSError* error) {
if (error) {
GTLErrorObject* const errorObject = error.userInfo[kGTLStructuredErrorKey];
NSLog(@"error from YouTube API: %@", errorObject.data);
}
...
}];

示例输出(为清楚起见格式化):

error from YouTube API: (
GTLErrorObjectData 0x7fb0c4cc9f10: {
message:"Bad Request"
locationType?:"other"
reason:"invalidCategoryId"
domain:"youtube.video"
location:"body.snippet.categoryId"}
)

关于objective-c - YouTube API v3 示例项目引发 GTLJSONRPCErrorDomain -32602 错误请求错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16930793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com