YouTube API 身份验证 - Iphone

2024-04-19

我正在尝试使用 youtube api 的示例代码上传视频。 当我按下上传按钮时,进度条完成其过程,但是一旦到达终点我就会收到错误。错误描述如下:

YouTubeTest[2149:f803] 错误 - 错误 Domain=com.google.GDataServiceDomain Code=400 "操作无法 完成。 (com.google.GDataServiceDomain 错误 400。)” 用户信息=0x69d5bd0 {}

这是按下上传按钮的代码

- (IBAction)uploadPressed:(id)sender {
    [self.view resignFirstResponder];
    NSString *devKey = [mDeveloperKeyField text];

    GDataServiceGoogleYouTube *service = [self youTubeService];
    [service setYouTubeDeveloperKey:devKey];

    NSString *username = [mUsernameField text];
    NSString *clientID = [mClientIDField text];

    NSURL *url = [GDataServiceGoogleYouTube youTubeUploadURLForUserID:username
                                                             clientID:clientID];

    // load the file data
    NSString *path = [[NSBundle mainBundle] pathForResource:@"YouTubeTest" ofType:@"m4v"]; 
    NSData *data = [NSData dataWithContentsOfFile:path];
    NSString *filename = [path lastPathComponent];

    // gather all the metadata needed for the mediaGroup
    NSString *titleStr = [mTitleField text];
    GDataMediaTitle *title = [GDataMediaTitle textConstructWithString:titleStr];

    NSString *categoryStr = [mCategoryField text];
    GDataMediaCategory *category = [GDataMediaCategory mediaCategoryWithString:categoryStr];
    [category setScheme:kGDataSchemeYouTubeCategory];

    NSString *descStr = [mDescriptionField text];
    GDataMediaDescription *desc = [GDataMediaDescription textConstructWithString:descStr];

    NSString *keywordsStr = [mKeywordsField text];
    GDataMediaKeywords *keywords = [GDataMediaKeywords keywordsWithString:keywordsStr];

    BOOL isPrivate = mIsPrivate;

    GDataYouTubeMediaGroup *mediaGroup = [GDataYouTubeMediaGroup mediaGroup];
    [mediaGroup setMediaTitle:title];
    [mediaGroup setMediaDescription:desc];
    [mediaGroup addMediaCategory:category];
    [mediaGroup setMediaKeywords:keywords];
    [mediaGroup setIsPrivate:isPrivate];

    NSString *mimeType = [GDataUtilities MIMETypeForFileAtPath:path
                                               defaultMIMEType:@"video/mp4"];

    // create the upload entry with the mediaGroup and the file data
    GDataEntryYouTubeUpload *entry;
    entry = [GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup
                                                          data:data
                                                      MIMEType:mimeType
                                                          slug:filename];

    SEL progressSel = @selector(ticket:hasDeliveredByteCount:ofTotalByteCount:);
    [service setServiceUploadProgressSelector:progressSel];

    GDataServiceTicket *ticket;
    ticket = [service fetchEntryByInsertingEntry:entry
                                      forFeedURL:url
                                        delegate:self
                               didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];

    [self setUploadTicket:ticket];

}

我已从 API 仪表板正确设置了开发人员密钥和客户端密钥。

我正在模拟器上运行这个。是不是模拟器无法上传视频?

请指导我哪里出错了?


错误已解决... 使用Google帐户上传视频到YouTube时,GData的一些功能 Objective-C 需要 Gmail 帐户作为参数,有些需要 YouTube 链接帐户作为参数。

当您调用 '- (void)setUserCredentialsWithUsername:(NSString *) 用户名密码:(NSString *)密码;'在GDataServiceBase中, 用户名应该是 Gmail 帐户,例如 '[电子邮件受保护] /cdn-cgi/l/email-protection' 并且密码应该是 Gmail 帐户。

但是当你调用 '+ (NSURL *)youTubeUploadURLForUserID:(NSString *) 用户ID 客户端ID:(NSString *)客户端ID;'在 GDataServiceGoogleYouTube 中, userID 参数应该是 YouTube 链接帐户并且 密码 Gmail 帐户的密码。

我正在使用[电子邮件受保护] /cdn-cgi/l/email-protection登录现在我只是使用 email_id 登录。多么愚蠢的错误!..但是花了我整整 2 天的时间来解决.. Duhhh..!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YouTube API 身份验证 - Iphone 的相关文章

  • UITextInputMode currentInputMode 已弃用。建议更换?

    在我们的应用程序中 我们想检测当前的键盘语言 例如 如果用户在 设置 gt 常规 gt 键盘 gt 键盘 下设置了多种语言键盘 我们想知道他们正在输入什么语言 并在发生变化时从 NSNotificationCenter 收到通知 void
  • 强制向扬声器发出音频警报

    我有一个小应用程序 在此应用程序中 扬声器每隔我设置的特定时间就会发出噪音 现在 我希望即使设备中插入了耳机插孔 它也能通过内置扬声器发出噪音 我怎样才能做到这一点 您可以尝试以下代码在扬声器上播放代码 另请检查this http uiha
  • 在 iOS 中,http 204 响应返回空白页面,有办法阻止这种情况吗?

    以前可能有人问过这个问题 但我似乎找不到解决方案 所以如果是这种情况 我深表歉意 我正在开发一个使用express的简单节点应用程序 其中一个帖子路由返回 http 204 并发送它 下面是我的代码 router post id funct
  • JavascriptCore:在 JSExport 中将 javascript 函数作为参数传递

    JavascriptCore是iOS7中支持的新框架 我们可以使用 JSExport 协议将 objc 类的部分内容公开给 JavaScript 在javascript中 我尝试将函数作为参数传递 像这样 function getJsonC
  • 应用程序更新后 PFUser currentUser nil

    我已经在 App Store 中更新了我的 iOS 应用程序 对于安装更新的用户来说似乎存在一个错误 他们的PFUser currentUser正在返回nil 知道为什么会发生这种情况吗 要添加信息 我在我的应用程序中使用此代码启用自动用户
  • Cocoapods 测试链接器错误

    每当我构建测试目标 Xcode 生成的标准目标 时 构建都会失败并出现神秘错误 framework not found Pods AppName AppNameTests 我认为这意味着无法找到为我的测试生成的 pod 目标 我的 podf
  • 快速布尔运算

    这实在令人困惑 有人有什么想法吗 let viewHasMovedToRight false initially I want this to be false then func moveViewToRight sender UIButt
  • iOS - iPhone 8、8 Plus 和 iPhone X 的设备平台字符串/内部模型[重复]

    这个问题在这里已经有答案了 是什么设备平台字符串即将推出的 iPhone 8 iPhone 8 Plus 和 iPhone X 列表 根据内部型号识别设备的列表如下 对于斯威夫特 func devicePlatform gt String
  • TestFlight iOS 应用程序 get-task-allow 问题

    我在 ios 的 testflight 中有一个名为 MapItTrackIt 的应用程序 一切都进展顺利 我刚刚更新到 xcode 5 1 我按照以往的方式构建了该应用程序 相同的配置文件和临时证书 这次 当我尝试上传 IPA 文件时 我
  • 在 iOS 上不显示数字键盘

    根据苹果的文档 http developer apple com library safari documentation AppleApplications Reference SafariHTMLRef Articles InputTy
  • Swift 2 OAuth2 LinkedIn 连接

    我将使用 Swift 2 和 Xcode 7 制作一个本机 iOS 应用程序 用户应该使用 LinkedIn 和 OAuth 2 登录 但我想知道应该如何开始设置 我对 OAuth 2 没有太多经验 有好的教程或示例应用程序吗 我看到了雷
  • ios:如何使用 CGPath 模糊图像?

    我创建了一个 CGPath 区域 如绿色圆圈所示 CGPath区域需要清晰 图像的其余部分将应用模糊或半透明效果 我可以使用以下代码在CGPath内剪切图像 UIGraphicsBeginImageContext view frame si
  • 在应用程序中全局关闭自动更正

    我想在 iPad 应用程序中禁用文本输入自动更正 无论设备上自动更正的全局设置是什么 有没有一种好的方法可以通过 API 执行此操作 或者我只需要浏览整个应用程序 找到所有文本输入字段 然后单独关闭每个字段的选项 抱歉 您必须检查所有文本字
  • UITableView 无法一直滚动到底部[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只是好奇 我做了一些UITable
  • 停止在 iOS Web 应用程序上滚动屏幕边缘?

    正在开发 iOS 网络应用程序 用户可以上下滚动页面内容 但是 有没有办法阻止屏幕被拖动得太远以致灰色背景变得可见 这可以通过在移动 Safari 中打开任何网页并将页面下拉来复制 您可以使用诸如 Pastrykit 或 iScroll 之
  • 领域数据库对象看起来是空的,但实际上不是

    我在用Realm https realm io对于一个小而简单的项目 我正在使用最新版本的框架 昨天从 Github 编译 和当前 AppStore 版本的 Xcode with Swift 2 1 我正在通过 segue 将 Realm
  • 如何为移动应用程序创建无密码登录

    我有兴趣在移动应用程序和 API 之间构建某种无密码登录 假设我可以控制两者 动机是必须登录对用户来说非常烦人并且存在安全风险 例如 用户将重复使用现有密码 我希望用户能够立即开始使用该应用程序 我想知道是否有一些可行的技术 例如 在移动设
  • 在集合视图单元格中播放视频,就像在 Facebook 应用程序时间轴中播放的视频一样

    我想在集合视图单元格中播放视频 要求就像 Instagram 时间线 播放视频就像在 facebook 时间线中播放视频 为此 我使用了 UICollectionViewCell 我有一些图像 没有视频 现在我是来自画廊的图像 我正在使用相
  • 自定义 OpenVPN iOS 客户端 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个自定义 iOS OpenVPN 客户端 我找到了这个原生 OpenVPN 客户端核心源码https staging op
  • 启动使用 Simperium 的应用程序时 objectFromJSONString 崩溃

    我得到了一个JSON当我尝试启动使用 Simperium 框架的应用程序时崩溃 NSCFString objectFromJSONString unrecognized selector sent to instance 0x6c561a0

随机推荐

  • “RPC 服务器不可用。”循环遍历Word文档时

    我正在开发一个实用程序来查找和更新 Word 中的 DOC 变量 我有一段代码可以循环遍历文档并显示带有变量名称的消息框 但是当它尝试打开下一个文档时收到错误 错误是 System Runtime InteropServices COMEx
  • 加入日历表 - 5 个工作日

    所以这是这里的一个常见问题 但我还没有找到真正适合我的特定需求的答案 我有 2 张桌子 其中有一个 ProjectClosedDates 列表 另一个表是一个类似于 2025 年的日历表 其中包含表示行日期是否为周末的列 以及另一列表示假日
  • php 中的 SVG 到 PNG 图像转换

    我想将 SVG 图像转换为具有透明背景的 PNG 文件 我使用下面的代码在 php 中使用 imagick 对其进行转换 但它给出了黑色背景的图像 image new imagick set transparent background i
  • 在 O(n) 中获取作为唯一给定索引的函数的排列

    我想要一个函数get permutation给定一个列表l和一个索引i 返回一个排列l这样排列对于所有人来说都是唯一的i大于0并低于n where n len l I e get permutation l i get permutatio
  • 如何在 OpenCV 中绘制图像的 3D 直方图

    更新 我找到更多例子 我现在可以做到 我可以在 3d 中绘制多个直方图吗 https stackoverflow com questions 35210337 can i plot several histograms in 3d 我知道这
  • 标准化浮点数 f 之后(之前)的下一个标准化浮点数是什么?

    给定一个标准化浮点数 f 下一个是什么归一化f 之后 之前的浮点数 通过一些调整 提取尾数和指数 我有 next normalized double if mantissa is not all ones maximally denorma
  • 如何快速过滤 Realm 中为当前日期创建的事件?

    如何快速过滤 Realm 中为当前日期创建的事件 我尝试了类似下面的方法 但是这是错误的 let dtSource datasource filter Create NSDate count Update 获取将我的日期创建为字符串的过滤器
  • Python json内存膨胀

    import json import time from itertools import count def keygen size for i in count 1 s str i yield 0 size len s str s de
  • 设置子视图以适合系统窗口

    我正在设置一个简单的视图 其中仅包含一个空的RelativeLayout
  • 如何启动第二个 Java 进程?

    如何启动第二个独立于平台的 Java 进程 理想情况下 它应该与当前运行的 Java 版本相同 有什么有用的系统属性吗 您可以使用java home系统属性来查找当前的 JVM String jvm new java io File new
  • 如何以编程方式获取 iOS 状态栏高度

    我知道目前 iPhone iPad 顶部的状态栏 包含时间 电池和网络连接 对于非视网膜屏幕为 20 像素 对于视网膜屏幕为 40 像素 但为了未来证明我的应用程序 我希望无需硬编码值即可确定这一点 是否可以通过编程计算出状态栏的高度 UI
  • Q_PROPERTY NOTIFY 信号及其参数

    我有写 propertyChanged 的习惯signals 带参数 这样接收端就不需要调用Q PROPERTY s READ明确地发挥作用 我这样做是出于清晰的考虑 并且假设在 QML 数据绑定情况下 不需要对 getter 进行 昂贵
  • 如何在 TypeScript 中创建本地模块

    我已经在文件夹中创建了src modules my module 其中有package json并定义了导出我们需要的所有内容的主文件 我现在可以从中导入import A from modules my module 我想将语法更改为imp
  • 如何通过sql查询在数据库中只保存时间而不保存日期

    此查询正在保存完整的日期和时间 但我只想在数据库中保存时间而不是日期 有什么查询可以做到这一点吗 update table set current time now 您的列必须设置为 DATETIME 或 TIMESTAMP 如果您使用 T
  • 使用 Google Apps 脚本抓取动态网页

    我想使用其他网站读取项目的一些数据谷歌脚本 https script google com 有问题的页面是Dyanmic 它们包含在初始页面加载后通过 JavaScript 调用服务器加载的内容 通常 对于一些静态内容 这工作得很好 但我对
  • 无法将 CSS 应用于 html 字符串

    我正在尝试将 evoPDF 集成到我的 asp net 应用程序上 我通过 ajax 从我的 html 文件 onclick 发送部分 html 直到这一部分一切正常 现在 当我从 EvoPdf API 调用这些方法时 1 GetPdfBy
  • 如何计算连续行的时间差

    原始数据如下所示 我想按访问者和时间对其进行排序 以计算行中的时间差 然后将其保存到新文件中 visitor v time payment items 1 Jack 1 2 2018 16 07 35 3 2 Jack 1 2 2018 1
  • 在 C++ 中使用 realloc

    std realloc如果 malloc 的内存包含非 Pod 类型 则在 C 中是危险的 看来only问题是std realloc如果无法在原位增加内存 则不会调用类型析构函数 一个简单的解决方法是try realloc功能 如果新内存无
  • 如何在java中获取大尺寸数组

    我是java新手 我想在java中获取大输入大小的数组 但给了我一些运行时错误 NZEC 我不知道它 我也对此错误做了一些研究 但没有找到与我的问题相关的任何内容 long n sc nextLong n can be upto 10 9
  • YouTube API 身份验证 - Iphone

    我正在尝试使用 youtube api 的示例代码上传视频 当我按下上传按钮时 进度条完成其过程 但是一旦到达终点我就会收到错误 错误描述如下 YouTubeTest 2149 f803 错误 错误 Domain com google GD