IOS Facebook SDK - Post Open Graph and show on Timeline without clicking Activity Log

From the Facebook SDK sample code, when successfully posting the open graph object to the timeline, you have to click Show on Timeline in the Activity Log on the Facebook website.

How to ignore these steps and explicitly share your OG to timeline?


Solution 1:

I've moved this answer out of @isaacselement question.


Just add one more code to your FBOpenGraphAction Object:

id<FBOpenGraphAction> action = (id<FBOpenGraphAction>) [FBGraphObject graphObject];
[action setObject: @"true" forKey: @"fb:explicitly_shared"];  // This is the key point!

And you should enable the 'explicitly shared' setting for the open graph action in the Facebook Developer App Dashboard in the website.

For more details, look at the Document about Explicit Sharing