2010-08-27 16 views
21

Questa sembra una cosa abbastanza ovvia, basilare, da aspettarsi dal Graph API, ma sto avendo serie difficoltà con esso. Tutto quello che voglio fare è ottenere l'ID per ogni URL particolare. Hanno un metodo per questo:API grafico Facebook: ottieni l'ID per un URL?

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

E funziona benissimo. Ma se provo un altro URL, ad esempio per il mio blog,

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

che non mi dà indietro un ID numerico, come tutti gli esempi fare. Invece, questo:

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

Se provo ad usare quel "id", ho presa (probabilmente perché la stringa di query sembra impossibile da analizzare):

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

Quindi cosa succede con questo? L'API Graph è solo selettivamente affidabile, o sto fraintendendo qualcosa? L'ho provato su URL che io conosco sono popolari su Facebook, e ho ottenuto risultati misti.

+0

Vecchia domanda, ancora nessuna soluzione? Ho provato cnn.com, funziona bene nel debugger, ma non restituisce l'ID utilizzando l'API ... –

risposta

8

L'ID viene assegnato da Facebook solo alle pagine che hanno un pulsante fbshare/like. Altrimenti l'API restituisce il numero di condivisioni e l'URL della richiesta.

+4

https://graph.facebook.com/?id=http://www.huffingtonpost.com/2011/ 06/14/new-york-mercatus-center-least-free-stato_n_876616.html ha un pulsante Mi piace ma il link restituisce ancora informazioni limitate. Entrambe le pagine hanno un fb: app_id nella sezione . – karatedog

+1

Questo comportamento è documentato da qualche parte? –

10

Provare FQL per questo;

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 

rendimenti:

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

Per ulteriori informazioni, vedere object_url.

Spero che aiuti!

+0

Con questo si ottiene id che è utile. +1 –

+0

Non so voi, ma l'ID che ottengo non è valido (nemmeno nel debugger). –

+4

L'esecuzione di FQL è obsoleta. – Flimm

3

Molto vecchia questione, ma qui è quello che ho trovato funziona per me come nessuna delle risposte qui veramente risolto il mio problema:

Se si dispone di un oggetto personalizzato legato a un URL, il metodo suggerito da Pepe dà solo la id FB assegna all'url dove type = link. (Che non è legato ad alcun commento)

Nel mio caso, ho bisogno del mio ID oggetto personalizzato in modo da poter estrarre i commenti associati da esso. Puoi ottenere l'ID oggetto usando FQL eseguendo una selezione su "comments_fbid" dalla tabella "link_stat". (Ciò restituirà l'id oggetto anche se non ci sono ancora commenti così dovrebbe funzionare per altri casi)

api.facebook.com

2

In questo momento non delle soluzioni proposte funziona per tutti gli URL. Solo il debugger è in grado di ottenere l'ID Graph correttamente

Per esempio

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

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

Risultato : 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" 
    } 
} 
Problemi correlati