Koala is a famous gem for interacting with Facebook activity. Common interaction can be achieved with single simple method call.
However, when we develop a Facebook feed poster for gif image, the gif image was not automatically played.
Koala common usage
For posting a plain text message to my Facebook feed:
facebook_graph = Koala::Facebook::API.new(facebook_oauth_access_token)
message = "Happy Coding"
facebook_graph.put_connections("me", "feed", message: message)
For posting a picture to my Facebook feed:
facebook_graph = Koala::Facebook::API.new(facebook_oauth_access_token)
message = "Happy Coding"
image_link = "https://image.link"
response = facebook_graph.put_picture(image_link, {:message => message})
Gif gotcha
So, we assumed posting .gif file should be the same. However, if you try to post a gif file using put_picutre
, Facebook will freeze your gif and treat it as normal non-animated image.
Solution
It turns out, after try and error, to post a gif image and make it animated, we need to use another method:
facebook_graph = Koala::Facebook::API.new(facebook_oauth_access_token)
message = "Happy Coding"
image_link = "https://image.link"
response = facebook_graph.put_wall_post message, {"link": image_link}
This will make the post being an actual post link and gif will be animated to your Facebook reader: