2012-05-29 21 views
11

Quiero subir un video en youtube de mi aplicación para el iPhone .. He intentado esto http://urinieto.com/2010/10/upload-videos-to-youtube-with-iphone-custom-app/ pero al final estoy consiguiendo error Dominio = com.google.GDataServiceDomain Código = 400 " La operación no se pudo completar (com.google.GDataServiceDomain error 400.) "UserInfo = 0x4d921f0 {}Subir video en youtube de aplicación para el iPhone

¿Alguien me puede ayudar? Gracias !!!

Mi código

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

¿Puedes publicar tu código? – Zakaria

+0

Sí, estoy usando mi cuenta de Google –

+0

@SurenderRathore: Yo también estoy enfrentando el mismo problema ... ¿me pueden ayudar? –

Respuesta

1

Lo primero es lo primero, comprobar la API de YouTube para las actualizaciones a las bibliotecas es GData, (cambiaron el pasado he usado y me rompí la aplicación).

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

A continuación, comprobar si hay materia tonta. ¿Se importaron todos tus encabezados, todo se comprueba, etc.?

Pruebe configurar su info.plist para usar Wi-Fi, he escuchado algunas de las nuevas API de GData que podrían explicar su error de 400, es posible que su aplicación no esté haciendo ping en los servidores de YouTube.

Cuestiones relacionadas