La soumission de l'objet à Facebook via open graph ne fonctionne pas, mais alors après test de l'URL Facebook de l'objet du débogueur?

Je veux permettre à un utilisateur de mon application web pour être en mesure de publier plusieurs objets à leur chronologie d'une page (main_page).

J'ai déjà le jeton d'accès utilisateur stockées.

Tags sur la page que je suis en train d'essayer de soumettre, l'url est page_url:

<meta property="fb:app_id"      content="my_app_id" /> 
<meta property="og:type"        content="my_namespace:my_object" /> 
<meta property="og:title"       content="some string" /> 
<meta property="og:description" content="some other string" /> 
<meta property="og:image"       content="some_image_url" />
<meta property="og:locale"      content="en_US" />
<meta property="og:url"         content="page_url" />   

Rails code de soumettre l'url, déclenchée à partir de main_page:

begin
    fb_post = RestClient.post 'https://graph.facebook.com/me/my_namespace:do', :access_token=>user.get_facebook_auth_token, :my_object=>"page_url"
rescue StandardError => e
    p 'e.response is'
    p e.response
end

Sortie

2011-11-02T02:42:14+00:00 app[web.1]: "e.response is"
2011-11-02T02:42:14+00:00 app[web.1]: "{\"error\":{\"message\":\"(#3502) Object at URL page_url has og:type of 'website'. The property 'my_object' requires an object of og:type 'my_namespace:my_object'.\",\"type\":\"OAuthException\"}}"

La chose vraiment étrange, c'est que, après avoir fait cette erreur, si je test le page_url sur le Objet Du Débogueur, il passe sans erreurs/avertissements og:type est le bon type et note 'website', puis exécutant les mêmes Rails code ci-dessus fonctionne correctement.

J'ai essayé sans le og:url balise et la même chose arrive.

Mise à JOUR:

Comme par Igy de réponse, j'ai essayé séparant l'objet de grattage processus de l'action processus de création. Donc, avant que l'action a été soumis pour une nouvelle marque de l'objet, j'ai couru un mise à jour sur l'objet, avec scrape=true.

begin
    p 'doing fb_update'
    fb_update = RestClient.post 'https://graph.facebook.com', :id=>page_url, :scrape => true
    p 'fb_update is'
    p fb_update
rescue StandardError => e
    p 'e.response is'
    p e.response
end

Sortie

2011-11-05T13:27:40+00:00 app[web.1]: "doing fb_update"
2011-11-05T13:27:50+00:00 app[web.1]: "fb_update is"
2011-11-05T13:27:50+00:00 app[web.1]: "{\"url\":\page_url,\"type\":\"website\",\"title\":\page_url,\"updated_time\":\"2011-11-05T13:27:50+0000\",\"id\":\id_here}"

La chose étrange est que le type est website, et le titre est l'url de la page. Encore une fois, j'ai vérifié à la fois dans le code HTML et le Facebook du débogueur, et le type et le titre sont tous les deux corrects dans ces.

InformationsquelleAutor ben | 2011-11-02