I went through FBSDK Sharing documentation here, but I can’t find a simple example where one can just post a simple message to timeline (not a link, not a photo, not a video) using FBShareDialog.
I know I can do it running a web request which essentially does this:
POST graph.facebook.com/me/feed?
message="My new post message!"&
access_token={your-access-token}
as described in Graph API docs, but again – I want to use ShareDialog to have consistent UI.
How do I do it? Thank you.
2
Answers
Note: All user lower case “post” refers to the act of posting to a users wall. All upper case “POST” refers to HTTP request method.
Facebooks offical react native SDK is located here https://developers.facebook.com/docs/react-native/
Note there are three different component:
The first two are self explanatory and the examples are provided on the site.
Facebook Graph API is just a REST API which lets you interact with the fb data via HTTP methods( GET, POST, DELETE etc). react-native-fbsdk just layer on top of it which makes it easier to make these request.
There are two prerequisites to posting to a user time.
Once you have obtained these you can post a message using the react native GRAPH API.
But first lets have a look at how you would do this simply using HTTP rather then the RN-SDK:
https://developers.facebook.com/docs/graph-api/reference/v2.7/user/feed
According to this we need to make a POST request to the location /v2.7/me/feed with the message defined as a paramater.
To finally answer your question how to we post to the users timeline using the react native sdk (). Lets have a look at the rnsdk docs: https://developers.facebook.com/docs/react-native/graph-api
It seems like we need two objects
GraphRequest
(to create a request) andGraphRequestManager
(to send the request)Since there is no example provided on how to post to the user wall using these two objects we need to look into the source code:
https://github.com/facebook/react-native-fbsdk/blob/master/js/FBGraphRequest.js
We can see from the constructor it takes three parameters:
We know the
graphPath = "/me/feed"
from the Graph API docs. The callback will just be a function called upon return of the request. This leaves us with the config object, which is defined in the source as:So our config object will look something like this:
Putting it altogether:
I posted to facebook with react native 0.43 by above code but i changed on
postRequestParams
Here is all of me.