Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Facebook wall post error: OAuthException :: (#1500) The url you supplied is invalid

I have a web-based news app that runs on Heroku. When users post a comment to a news story on my app, my app forwards the comment to the user's facebook wall using fb_graph. Everything worked perfectly until a couple of weeks ago. For no reason that I can explain I am now seeing some baffling behavior.

Now, when a user submits a comment to a story the FB API responds with, OAuthException :: (#1500) The url you supplied is invalid. If, the same user then submits additional comments to the same story those comments are posted to the user's FB feed just fine.

I have used the FB Graph API explorer to confirm that I have valid access tokens, and that my app does accept posts to the token-owner's FB feed.

To make things even more baffling, when running my web app in development on localhost all of the posts go through just fine to my development FB app.

def post_to_facebook(story, post) 
  auth = Authentication.find_by_provider_and_user_id("facebook", current_user.id)
  if auth
    me = FbGraph::User.me(auth.token)
    if me.permissions.include?(:publish_stream)
      begin
        me.feed!(
          :message => "#{best_name(current_user)} made the following post to NewsWick: #{post.contents}", 
          :name => story.title,
          :link => "https://www.newswick.com/stories/"+story.id.to_s,
          :description => "Story posted to the NewsWick world-wide news service" ,
          :picture => best_photo(story)[:photo_url]
          )
      rescue => e
        @msg = "Facebook posting error: "+ e.to_s
        puts "Facebook feed posting error: #{e.message}"
      end 
    else
      @msg = "No longer authorized to post to Facebook."
    end
  end
  return @msg
end

One last thing to note, the only thing that I have changed w/r/t how my app interacts with FB in the last two weeks was that i accepted FB's July Breaking Changes.

Anyone have any clues. This is driving me bonkers!!!

like image 348
chuck w Avatar asked May 15 '13 19:05

chuck w


2 Answers

I'm having the same issue only difference is I'm using the javascript api.

Seems like it's a facebook bug, which is already reported here: https://developers.facebook.com/bugs/136768399829531

like image 121
Franjanko Avatar answered Oct 21 '22 04:10

Franjanko


Yes this is a known bug and Facebook developers are looking into it, well so they claim,however something interesting I found out is:

I post to my Facebook using 2 methods using RestFB API , first, for messages with URLs e.g www.something.com and those without URLs, I realized last night that all posts without URL worked and the ones with URL doesn't.

So I changed all my implementation to send messages to Facebook without using with link parameters for all posts, with or without links.

With link Parameter - throws error #1500

FacebookType publishMessageResponse = resftFBclient.publish(FACEBOOK_PAGE_ID 
+"/feed", FacebookType.class, Parameter.with("message", "Hello StackOverFlow!"),
Parameter.with("link", "message with a link , www.me.com"));

With no link parameter - this works even if message contained URL/link

FacebookType publishMessageResponse = resftFBclient.publish(FACEBOOK_PAGE_ID. +
"/feed",FacebookType.class,Parameter.with("message", "My message"));

This works even if message contained URL/link and it creates an clickable link on FB. Could it be that FB is trying to drop the link implementation and letting us figure it out that the former works just as the link implementation? What's the difference anyways?

That's brutal!

Cheers

Babajide

like image 21
Babajide Prince Avatar answered Oct 21 '22 04:10

Babajide Prince