从iphone app在youtube上传video

我想从我的iphone应用程序上传YouTube上的video..我试过这个http://urinieto.com/2010/10/upload-videos-to-youtube-with-iphone-custom-app/但最后我收到错误Domain = com.google.GDataServiceDomain Code = 400“无法完成操作。(com.google.GDataServiceDomain错误400.)”UserInfo = 0x4d921f0 {}

谁能帮我。 感谢名单!

我的代码

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]; 

首先,请检查YouTube API以获取对其GData库的任何更新(他们最后更改了我使用它们并破坏了我的应用)。

http://apiblog.youtube.com/2009/02/youtube-apis-iphone-cool-mobile-apps.html

接下来,检查愚蠢的东西。 导入了所有标题,检查了所有标题等等?

尝试将您的info.plist设置为使用Wi-Fi,我听说过一些新的GData API可能会解释您的400错误,您的应用可能没有ping YouTube服务器。