L'affichage de la Photo à facebook fan page via l'application iOS régulièrement par des utilisateurs non-administrateurs
Je suis en train de poster une photo de mes applications facebook fan page et pour les utilisateurs mur aussi.
J'ai réussi à poster la photo sur les utilisateurs mur, mais a échoué à le publier dans les pages de fans mur. (L'utilisateur n'est pas nécessairement un administrateur ou propriétaire de la page, juste un utilisateur régulier. Comme la page de fan a l'option de n'importe qui peut poster, il n'est pas obligatoire pour l'utilisateur, même, comme la page en premier. Droit?)
Après recherche sur google, j'ai trouvé cette réponse. Selon elle, j'ai besoin d'un access_token de la page de fan et un album_id de le faire. Mais je ne trouve pas la moindre idée sur la façon de les obtenir. Jusqu'à présent j'ai essayé ce code:
if ([appDelegate.facebook isSessionValid])
{
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
resultImage, @"picture",
nil];
[appDelegate.facebook requestWithGraphPath:@"me/photos"
andParams:params
andHttpMethod:@"POST"
andDelegate:self]; //to post on users wall, works fine
NSString *path = [NSString stringWithFormat:@"my/accounts /fan_page_id?fields=access_toke/photos"];
[appDelegate.facebook setAccessToken: FACEBOOK_ACCESS_TOKEN];
[appDelegate.facebook requestWithGraphPath:path andParams:params andHttpMethod:@"POST" andDelegate:self]; //to post on fan page wall, this doesn't work
}
Quelqu'un peut-il m'aider? Ce qui me manque ici? Merci à l'avance.
Mise à JOUR
Selon cette réponse, un utilisateur normal ne peut pas poster une photo pour les pages de fans mur à partir d'une application iOS, mais pouvez partager la photo sur elle. Maintenant, ma question est, comment puis-je accomplir de poster la photo sur les utilisateurs de mur et de le partager sur le mur de la page fan en même temps? Est-il possible? Comment puis-je partager la photo sur le mur de la page fan?
Mise à JOUR 2
Cette réponse et la question dit que les utilisateurs réguliers peuvent poster un fan mur de la page via le fil d'actualité, j'ai donc modifié mon code comme ceci:
if ([appDelegate.facebook isSessionValid]) {
NSMutableDictionary *page_params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"fan_page_id", @"to",
@"Test", @"name",
@"Test", @"caption",
resultImage, @"picture",
nil];
[appDelegate.facebook dialog:@"feed"
andParams:page_params
andDelegate:self];
}
Mais, je reçois ce ridicule message d'erreur et l'application se bloque:
-[UIImage length]: unrecognized selector sent to instance 0x24d110
2012-06-06 19:59:03.114 app_name[2739:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage length]: unrecognized selector sent to instance 0x24d110'
Que dois-je faire maintenant?
À ce point, après avoir attendu si longtemps, la question vient à mon esprit, c'est, est-ce même possible? Si oui, comment dois-je accomplir cette tâche? Et si non, quelles sont les alternatives? S'il vous plaît aider.
Mise à jour 3
Viens de trouver qu'il ya un bug connu dans les deux iOS sdk et le sdk javascript pour l'affichage de boîtes de dialogue dans le mur de la page fan. Est-ce vrai pour l'upload d'images trop? Si quelqu'un a une solution pour éviter ce bug, s'il vous plaît aider.
OriginalL'auteur Shabib | 2012-06-06
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas à l'heure actuelle (juin 2012) possible en raison d'un bogue dans l'API: https://developers.facebook.com/bugs/206254392780441 a les détails.
Une solution de contournement consiste à poster à la
/feed
de connexion de la page et joindre une image à l'alimentation de l'histoire. Que l'image ne s'affiche pas aussi grand qu'un bon de téléchargement de photos, mais devrait fonctionner sur OK.Ce bug qui signifie que l'affichage de la
/PAGE_ID/photos
connexion d'une Page à l'aide d'un Utilisateuraccess_token
, à tort, télécharger la photo de l'utilisateur/photos
de connexion à la place.L'affichage d'une page
/photos
connexion fonctionnera comme prévu lors de l'utilisation de la Pageaccess_token
; la photo s'affiche sur la page photos de la page, sur la page du calendrier, et attribué à la Page elle-même (j'.e 'de' la page)Si votre application est spécifiquement conçu pour ajouter du contenu à une page, et a un composant côté serveur, une autre solution pour obtenir des photos à partir d'un utilisateur sur la page est pour les utilisateurs de fournir une photo de vous au moyen de votre propre interface (j'.e la télécharger à partir de l'appareil de l'utilisateur de votre serveur), et d'utiliser une de la page admins "
access_tokens
pour obtenir un La Pageaccess_token
et de faire de l'upload de cette façon.Vous pouvez poster à leur propre mur de l'application et, simultanément, de télécharger une photo sur votre propre serveur, puis avoir votre utilisation du serveur de la page jeton d'accès pour la télécharger sur la page
OriginalL'auteur Igy
Au lieu d'utiliser la boîte de dialogue, vous pouvez demander à l'utilisateur d'accorder l'autorisation - publish_stream
(puisqu'il y a un bug dans la boîte de dialogue composants, sinon ses pas nécessaire)
Alors vous pouvez poster sur un mur de la page (en supposant que la page permet dans les paramètres de la page).
Vous pouvez essayer d'utiliser l'api graphique de l'explorateur. Vous pouvez modifier l'id de la page et de test par l'octroi de l'autorisation ci-dessus dans l'étendue de l'autorisation de l'onglet.
Note
Une chose que vous devez retenir, c'est, vous ne pouvez pas envoyer des données d'image dans l'image de paramètre. Vous devez fournir le lien de l'Image.
Si vous avez un serveur, vous pouvez télécharger l'image pour que le sevrer et obtenir l'URL, puis utiliser cette url pour les afficher sur le mur de la page.
Je n'en ai pas, et ça ne semble pas une bonne solution. C'est une application du téléphone, l'utilisateur prend une photo, l'application fait l'objet de quelques modifications pour elle et puis elle est partagée sur facebook (dans les utilisateurs de la paroi et dans le mur de la page fan). Si je dois gérer un serveur pour cela, ce n'est pas logique. De toute façon je vous remercie pour votre réponse.
*/alimentation ne sera pas accepter des données d'image. Sa doit être une URL. Vous pouvez prendre le service Amazon s3, qui est très très faible coût de service. Et vous pouvez facilement le mettre en œuvre. Si cela n'est pas approprié pour vous, alors vous n'avez pas de moyen d'afficher des images sur le mur.
Bon, je vous remercie pour vos conseils.
OriginalL'auteur Venu
Je voudrais simplement essayer de répondre à l'erreur d'exception. Il est possible de poster sur votre page fan flux d'actualités. Il n'est PAS possible de poster tant que fan de la page elle-même, en tant que nécessiterait l'authentification (donc le jeton d'accès exigence.. vous devez être connecté en tant qu'utilisateur de poste). @Igy déjà l'adresse ci-dessus.
Cependant, vous n'avez pas de code pour le cas où vous utilisez le sélecteur d'images pour obtenir l'image. L'exception que vous obtenez est parce que vous tentez de vérifier la longueur sur une UIImage objet au lieu de le NSData objet (qui est ce que Facebook). Pour convertir votre image à partir du sélecteur de données utilisation de l'extrait de code ci-dessous (remplacer le img variable avec votre UIImage).
OriginalL'auteur Matt Hudson
Je pense que vous êtes mauvais argument pour l'affichage de la photo
Vous devriez vous devez utiliser
@"url"
au lieu de@"picture"
Je ne suis pas sûr, mais il pourrait fonctionner .
J'ai à eu le même problème en javaScript , qui a été résolu .
Veuillez consulter ici pour la référence à mon problème
OriginalL'auteur sumitkanoje