Sto tentando di caricare video utilizzando un codice di esempio di youtube api. Quando preme il pulsante di caricamento, la barra di avanzamento termina il suo processo, ma una volta quando raggiunge la fine del punto ottengo un errore. Descrizione dell'errore è la seguente:Autenticazione API Youtube - Iphone
YouTubeTest [2149: F803]. errore - Errore Domain = Codice com.google.GDataServiceDomain = 400 "L'operazione potrebbe non essere completata (errore com.google.GDataServiceDomain 400 .)" UserInfo = 0x69d5bd0 {}
Questo è il codice per il pulsante di caricamento premuto
- (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];
}
ho creato chiave sviluppatore e chiave del client in modo corretto da API Cruscotto.
Sto eseguendo questo sul simulatore. È possibile non caricare video dal simulatore?
Per favore guidami dove sto andando male?
Un errore 400 indica comunemente una richiesta errata. Vorrei controllare tutto il codice, l'autenticazione di accesso e, se possibile, testare il dispositivo per escludere eventuali problemi che il simulatore potrebbe causare. – Luke
@Luke L'ho controllato anche sul dispositivo. Non funziona neanche lì .. Dando lo stesso errore :( – innodeasapps
Hai qualche codice di esempio o link quindi per favore condividi. Ho ottenuto campioni per MAC OS X ma bot per iOS. – Imran