2010-08-27 4 views
21

Cela ressemble à une chose assez évident, basique à attendre de la Graph API, mais j'ai de sérieuses difficultés avec elle. Tout ce que je veux faire, c'est obtenir l'identifiant d'une URL particulière. Ils ont une méthode pour cela:Facebook Graph API - obtenir un identifiant pour une URL?

https://graph.facebook.com/?ids=http://www.imdb.com/title/tt0117500/ 

Et cela fonctionne très bien. Mais si je tente une autre URL, par exemple pour mon blog,

https://graph.facebook.com/?ids=http://dusda.vox.com 

il ne me rend pas un identifiant numérique comme tous les exemples ne. Au lieu de cela, ceci:

{"http:\/\/dusda.vox.com":{"id":"http:\/\/dusda.vox.com"}} 

Si je tente d'utiliser ce « id », je reçois prise (probablement parce que la chaîne de requête semble impossible à analyser):

Request: https://graph.facebook.com/http://dusda.vox.com/likes 
Response: {"id":"http:\/\/dusda.vox.com\/likes"} 

Alors, quel est avec cela? Est-ce que l'API graphique est juste sélectivement fiable, ou est-ce que je ne comprends pas quelque chose? Je l'ai essayé sur des URL que je connais également sur Facebook, et j'ai obtenu des résultats mitigés.

+0

Ancienne question, toujours pas de solution? J'ai essayé cnn.com, fonctionne bien dans le débogueur, mais ne retourne pas l'ID en utilisant l'API ... –

Répondre

8

L'identifiant est donné par Facebook uniquement aux pages qui ont un bouton fbshare/like. Sinon, l'API renvoie le nombre de partages et l'URL de la requête.

+4

https://graph.facebook.com/?id=http://www.huffingtonpost.com/2011/ 06/14/new-york-mercatus-center-least-free-state_n_876616.html a un bouton "J'aime" mais le lien donne toujours des informations limitées. Les deux pages ont un fb: app_id dans la section . – karatedog

+1

Ce comportement est-il documenté quelque part? –

10

Essayez FQL pour cela;

http://graph.facebook.com/fql?q=select%20url%2C%20id%2C%20type%2C%20site%20from%20object_url%20where%20url%20%3D%20%22http%3A%2F%2Fkriek.hu%2F%22 

retours:

{ 
    "data": [ 
     { 
     "url": "http://kriek.hu/", 
     "id": 497425470154, 
     "type": "link", 
     "site": "kriek.hu" 
     } 
    ] 
} 

Pour plus d'informations, consultez object_url.

J'espère que ça aide!

+0

Avec cela, vous obtenez ID qui est utile. +1 –

+0

Je ne sais pas pour vous, mais l'ID que je reçois n'est pas valide (pas même dans le débogueur). –

+4

FQL est en cours de dépréciation. – Flimm

3

question ancienne, mais voici ce que j'ai trouvé des œuvres pour moi comme aucune des réponses ici vraiment résolu mon problème:

Si vous avez un objet personnalisé lié à une URL, la méthode proposée par Pepe ne donne que la ID FB affecte à l'URL où type = link. (Qui n'est lié à aucun commentaire)

Dans mon cas, j'ai besoin de mon identifiant d'objet personnalisé pour pouvoir y puiser des commentaires associés. Vous pouvez obtenir l'identifiant de l'objet en utilisant FQL en faisant un select sur 'comments_fbid' depuis la table 'link_stat'. (Ceci renvoie l'ID d'objet, même si aucun commentaire n'a été ajouté il devrait fonctionner pour d'autres cas)

api.facebook.com

2

A cette époque, aucune des solutions proposées fonctionnent pour tous les urls. Seul le Debugger est en mesure d'obtenir l'ID graphique correctement

Par exemple

Debugger: https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.amazon.de%2Fgp%2Fproduct%2F3810510793%2F

Pour URL: www.amazon.de/gp/product/3442465583/

Résultat : https://graph.facebook.com/10150771435736113

{ 
    "url": "http://www.amazon.de/dp/3810510793/ref=tsm_1_fb_lk", 
    "type": "book", 
    "title": "Die unwahrscheinliche Pilgerreise des Harold Fry: Roman", 
    "image": [ 
     { 
     "url": "http://ecx.images-amazon.com/images/I/51I4E81xrRL._SL160_.jpg" 
     } 
    ], 
    "description": "Die unwahrscheinliche Pilgerreise des Harold Fry: Roman", 
    "site_name": "Amazon.de", 
    "updated_time": "2012-12-19T16:54:27+0000", 
    "id": "10150771435736113", 
    "application": { 
     "id": "164734381262", 
     "name": "Amazon", 
     "url": "https://www.facebook.com/apps/application.php?id=164734381262" 
    } 
} 
Questions connexes