2012-09-18 2 views
0

BUT:Facebook Open Graph histoire d'une photo déjà dans un album Facebook?

Je construis une application photo iOS/divertissement, et ont un objectif très simple: télécharger une photo sur Facebook, puis partager la photo à l'aide des histoires Open Graph de Facebook (par exemple « [utilisateur] [verbed] une photo en utilisant [nom de l'application] ").

(. Il se trouve iOS 6 de SLComposeViewController ne permet pas nativement j'espérais que ce serait Boo..)

SITUATION:

Je n'ai pas un espace web robuste - et Je n'en veux pas - donc si un utilisateur clique sur l'histoire d'Open Graph dans sa chronologie (etc), je préférerais simplement revenir à la photo sur Facebook.

Je peux obtenir la photo téléchargée - ET récupérer son URL - mais je ne peux pas faire fonctionner l'histoire Open Graph! Voici où je suis:

Télécharger une photo à Facebook Album: OK

J'utilise la méthode de requestForPhotoUploadFBRequest du SDK iOS (dernière version en date du 17 Septembre) et enregistrer le résultat photopost à l'aide batchEntryName . Ceci est essentiellement soulevé directement à partir du tutoriel FB Open Graph.

Photo URL de récupération: OK

J'utilise ici la méthode de requestForGraphPathFBRequest - encore une fois essentiellement par le tutoriel FB OG. Voici un exemple de l'URL je récupérer en arrière:

https://sphotos-b.xx.fbcdn.net/hphotos-ash3/<long_number_string_with_underscores>_n.jpg 

Publish Open Graph histoire: NE FONCTIONNE PAS

Avec cela, je construis une requête HTTP OG comme suit:

https://<MY_SITE>.herokuapp.com/repeater.php?fb:app_id=<MY_FB_APP_ID> 
&og:type=<APP_NAMESPACE>:photo 
&og:title=a+rad+photo 
&og:description=%22a+rad+photo%22 
&og:image=https://sphotos-b.xx.fbcdn.net/hphotos-ash3/<long_number_string_with_underscores>_n.jpg 
&og:url=https://sphotos-b.xx.fbcdn.net/hphotos-ash3/<long_number_string_with_underscores>_n.jpg 
&body=a+rad+photo 

Mais cela ne fonctionne pas. Le problème que je rencontre peut être évident pour les vétérans: l'image de FB renvoie un og:type de website (cela doit être dérivé de balises OG statiques sur la page de FB?), Et donc l'histoire OG échoue.

Je pense que vous pouvez obtenir mes résultats OG ici (du débogueur):

https://graph.facebook.com/120073804807493

(j'ai aussi essayé retourner ma demande toute OG comme og:url, mais qui relie tout juste à un page blanche sur mon serveur web - voir le code de repeater.php ci-dessous.)

Alors ... que puis-je faire à ce sujet? Comment pourrais-je faire fonctionner ça? Ai-je vraiment besoin de créer une propriété Web complète pour héberger et afficher des images alors que tout ce que je construis est une application iOS et que tout ce que je veux faire est de poster sur l'album photo d'un utilisateur ?!

Plus d'informations: Voici la source pour le répéteur.php (voir: tutoriel FB OG), si elle importe:

<?php 
function curPageURL() { 
$pageURL = 'http://'; 
if ($_SERVER["SERVER_PORT"] != "80") { 
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 
?> 

<html> 
    <head prefix="og: http://ogp.me/ns# product: http://ogp.me/ns/product#"> 
    <meta property="fb:app_id" content="<?php echo strip_tags($_REQUEST['fb:app_id']);?>"> 
     <meta property="og:url" content="<?php echo strip_tags($_REQUEST['og:url']);?>"> 
     <meta property="og:type" content="<?php echo strip_tags($_REQUEST['og:type']);?>"> 
     <meta property="og:title" content="<?php echo strip_tags($_REQUEST['og:title']);?>"> 
     <meta property="og:image" content="<?php echo strip_tags($_REQUEST['og:image']);?>"> 
     <meta property="og:description" content="<?php echo strip_tags($_REQUEST['og:description']);?>"> 
    </head> 
    <body> 
     <?php echo strip_tags($_REQUEST['body']);?> 
    </body> 
</html> 

Répondre

1

Après beaucoup de recherches, malheureusement, je ne pense pas qu'il soit possible d'utiliser des photos téléchargées sur Facebook comme des objets Open Graph. Les pages de Facebook ne sont tout simplement pas marquées dynamiquement assez pour qu'une de leurs photos soit un objet graphique ouvert (compréhensible), donc nous sommes seuls ..;)

(Bien que je soupçonne fortement que dans iOS 6.1 ou 7.0, ils permettront quelque chose comme ça, je dois imaginer la demande pour cette montée en flèche avec SLRequest venir pour la mode ..)

des idées pour d'autres qui peuvent venir à travers à l'avenir:

  • Il y a des choses intelligentes que vous pouvez faire avec des téléchargements droits et des noms d'albums pour imiter une histoire Open Graph. Consultez mon autre article de Stack, ici, pour des trucs techniques qui n'ont pas été abordés dans leurs tutoriels: Facebook iOS SDK: Cannot specify an album using FBRequest's requestForUploadPhoto:
  • Si vous avez même des compétences modérées en matière de développement Web, ne pas négliger l'intégration Heroku de Facebook (vous pouvez y accéder à partir de votre Facebook settings page page) - https://developers.facebook.com/apps
  • Si vous avez beaucoup de photos en particulier, mon dieu Parse nous a donné une bénédiction avec un clone Instagram qu'ils ont ouvert - https://parse.com/anypic - oui, c'est WEB WEB ET le code source iPHONE que vous voyez! Déposez cela sur votre serveur Heroku et commencez à bricoler, et vous cuisinez avec de la graisse si vous voulez quelque chose de massif et social.
Questions connexes