iPhone Facebook de Téléchargement de Vidéos
J'ai travaillé sur cela pour un couple de jours maintenant et n'arrive pas à trouver une réponse claire d'exemple ou n'importe où. Je suis en train de télécharger une vidéo sur facebook à partir de l'intérieur de mon iPhone. Je peux me connecter à facebook (et d'avoir des photos téléchargées) sans problème à l'aide de:
_facebook = [[Facebook alloc] initWithAppId:kAppID];
_permissions = [[NSArray arrayWithObjects:@"publish_stream", @"offline_access",nil] retain];
[_facebook authorize:_permissions delegate:self];
Cependant, je n'arrive pas à obtenir mon téléchargement de vidéo de travail. Mon code actuel est:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"TestMovie" ofType:@"mp4"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
data, @"video",
nil, @"callback",
@"test", @"title",
@"upload testing", @"description",
@"EVERYONE", @"privacy",
nil];
[_facebook requestWithMethodName:@"video.upload"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];
Et depuis la vidéo de télécharger les appels doivent être faits à un autre serveur, j'ai changé le restserver url au sein de l'facebook.m fichier:
static NSString* kRestserverBaseURL = @"https://api-video.facebook.com/method/";
Lorsque je l'exécute le téléchargement se bloque avec une erreur:
facebookErrDomain err 353.
Toute aide serait appréciée.
EDIT:
Avec Zoul d'aide, j'ai maintenant le code suivant mis en place (je n'ai rien fait pour modifier sa classe upload ni la version du SDK, il est venu avec). La demande n'est plus obtient une erreur cependant rien n'est en cours de téléchargement.
J'initialise le facebook de l'objet et de l'objet de téléchargement:
_facebook = [[Facebook alloc] initWithAppId:kAppID];
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"offline_access",nil];
[_facebook authorize:_permissions delegate:self];
_upload = [[FBVideoUpload alloc] init];
Puis-je l'utiliser une fois que facebook a enregistré dans:
- (void)fbDidLogin{
_upload.accessToken = _facebook.accessToken;
_upload.apiKey = kApiKey;
_upload.appSecret = kApiSecret;
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"mp4"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
data, @"",
@"test", @"title",
@"upload testing", @"description",
@"EVERYONE", @"privacy",
nil];
[_upload startUploadWithURL:fileURL params:params delegate:self];
}
Maintenant, je suis d'erreur
Unable to retrieve session key from the access token.
Mais mes mises à jour récupérées ok pas de session d'erreur dans ce cas
J'ai plutôt une solution simple que vous pouvez fourrer dans une des fonctions de l'actuel iOS Facebook SDK: stackoverflow.com/questions/17927767/...
OriginalL'auteur Brenton Morse | 2011-03-18
Vous devez vous connecter pour publier un commentaire.
J'ai un la vidéo télécharger la branche dans ma fourchette de l'Facebook SDK sur GitHub. Je n'ai pas la toucher pendant plusieurs semaines, mais il l'habitude de travailler fine (seulement il nécessite l'ancien style d'authentification, voir cette branche). Il y a quelques commentaires dans le FBVideoUpload en-tête de classe, mais l'interface est plutôt beaucoup d'auto-explicatif. Il y a aussi utile à la discussion sous mon pull request – surtout la chose à propos des certificats SSL sur le
api-video
cluster qui pourraient faire toute la question plus facile, mais je n'ai pas le code en revue encore.[Coup de gueule: Il est dommage que l'Facebook SDK pour iOS n'est pas exactement prospérer sur GitHub. Il y a beaucoup de pull requests, mais les développeurs officiels ne semblent jamais à fusionner rien, pas même trivial corrections de typo dans la documentation. La plupart du temps les pull requests simplement assis là jusqu'à ce rejetée.]
Et oui, j'ai mentionné que le téléchargement de la vidéo code est un désordre hack? Le téléchargement de la vidéo code est un désordre hack. Il analyse certains auth jetons et il pourrait se briser n'importe quand bientôt, mais c'était la seule façon que je pouvais le faire fonctionner.
Mise à jour: le téléchargement de La vidéo de la branche n'est plus, désormais, vous pouvez facilement de téléchargement de la vidéo en utilisant le SDK officiel:
C'est “la bonne façon de le faire”™, la solution précédente était juste un temporaire hack.
J'ai mis en œuvre votre FBVideoUpload classe avec la version de Facebook IOS SDK que vous avez avec elle. Bien que je n'ai plus les erreurs (Via NSLog je sais que la demande ne parviennent au didLoad méthode) je reçois rien sur facebook. Toute pensée? Je vais ajouter mon code actuel à ma question.
J'ai juste essayé de faire de mon application qui utilise le téléchargement de la vidéo code et il fonctionne. Essayer de se débarrasser de la
data
paramètre, il n'est pas nécessaire ici. Êtes-vous sûr que la demande réussit? Quelle est la réponse du serveur?Je vais essayer sans le paramètre de données. Et je vais doubler vérifier la réponse du serveur et de le poster ici une fois que je l'obtenir.
Et c'était aussi simple que cela. Fait sûr de mon application a été fixée au format HTML/Web et non Indigènes, et il fonctionne comme un charme. Merci pour toute l'aide, zoul.
OriginalL'auteur zoul
Vous pouvez utiliser la nouvelle api graphique pour télécharger la vidéo :
Vous pouvez utiliser cette fourche https://github.com/johnmph/facebook-ios-sdk et ont un param dictionnaire comme ça :
J'ai aussi ajouté à cette fourche une méthode pour suivre le statut de téléchargement (par exemple pour une utilisation avec une barre de progression)
Utilisez simplement le code ci-dessus avec la fourchette mentionnée, m_facebook est un Facebook de l'objet déjà autorisé (avec user_videos autorisation) et movieData sont les données brutes de la vidéo que vous souhaitez télécharger.
OriginalL'auteur Johnmph
OriginalL'auteur Alok SInha
Avez-vous essayez d'envoyer un e-mail comme facebook suggérée dans http://www.facebook.com/help/?faq=12345
Vous pouvez utiliser l'objet de l'email pour définir la légende de la vidéo.
OriginalL'auteur Edward Ashak
En fait tous, il vaut la peine de mentionner à garder un oeil sur Facebook différents ingénierie des blogs. Celui-ci est daté d'octobre 2011, afin de ne pas avoir le "courant" du SDK:
http://developers.facebook.com/blog/post/532/
Mais l'exemple fonctionne toujours si vous modifiez l'ID de l'offre, ajoutez le schéma d'URL pour le fichier plist, et ajouter votre propre ID d'Application à la vue-contrôleur:
C'est l'information la plus utile que j'ai trouvé sur le téléchargement de vidéos, je ne sais pas pourquoi Facebook obscur de cette suite de leurs principaux SDK docs! C'est bizarrement pas lié n'importe où, j'ai dû faire quelques recherches autour de...
OriginalL'auteur PostCodeism