Wednesday, August 15, 2018

#648 OIC Integration 101 Part V - Social adapters - Facebook and Twitter

Just a quick introduction to some of our Social adapters -

Facebook - social media for over 50s

You will need a Facebook account to do this lab.

Essentially, you will create a new page under your Facebook account.
Then you will leverage the OIC Facebook adapter
to retrieve Page details and then retrieve Page posts.

So let's begin - setup

You will need an account at
Simply go in and create one.
Essentially what you do is create an App.
The work that we do via the FB adapter will be in the context of this app.

Note the App ID and App Secret -

they will be needed for creating the OIC connection to Facebook.

you also need to set the callback url for OIC -

Products -- Facebook Login -- Settings 

The url has the format -

You now create a page within the context of your facebook app -

Settings -- Advanced

Ensure you specify the App Page category, when creating the page.
As you can see, my app and page are called OICApp.

OIC setup and development 

First upload the Facebook certificate.
You get this by logging in to and downloading the cert.
This you then import into OIC -

Then click Upload and do the necessary

Create the Facebook Connection 

Configure as follows -

Client ID is set to your Facebook App ID.
Client Secret is set to App Secret.

Note: these are available in the Settings -- Basic screen of your facebook developer account

Now a word about scopes -

The following scopes are discussed in the adapter documentation -

user_posts - Provides access to the posts on a person's Timeline. Includes their own posts, posts they are tagged in, and posts other people make on their Timeline. This permission is restricted to a limited set of partners and usage requires prior approval by Facebook.

user_likes - Grants an app permission to access the list of all Facebook Pages that a person has liked.

publish_actions - this has been deprecated - thanks to Cambridge Analytica

see the following Facebook link

You can check out all the Facebook permissions here

Specify the following scopes for this use case -

You Provide Consent as follows -

Facebook grants access -

Test then Save the Connection

Create a second connection REST -- Trigger

Create the Integration

You will use a REST Trigger for this orchestration.

Drag and Drop your REST Trigger on the Start area.

Configure as follows -

Set the Request to

Now drop the Invoke - Facebook Connection, after GetFBPageData

Configure as follows -

Note that we are using the facebook graph api under the hood.

Now drop the Facebook connection again, after GetPageDetails and configure as follows -

Map as follows -

Now map the return values -

Set Tracking then Save and Close

Activate -

Test -

We need the page id - simply open your new FB page in a browser -

What I've blacked out in the URL above is the page id.

You will need this when testing.

Add a Post to the page, before you test - this is what we will retrieve via OIC.

I just added a simple - "Hi There".

I use Postman for testing -

Twitter - tweet to your heart's content!

Twitter is a strange kettle of fish, according to the media it has
coordinated revolutions, but has still to make a profit.
But who cares!

Again, the pre-requisite is a Twitter account.

Then it is essentially the same procedure as per Facebook -

Download and Install Twitter Certificate 

Download the twitter certificate from

Upload to OIC - 

Click Upload -

Upload your Twitter certificate -

Create an app as Twitter Developer

Next, I create an app on
This will provide me with all the keys I need to perform operations, such as tweeting.

After going through the necessary -

Note the Callback Url above, as per Facebook.

Now to the Access Token -

Click Create -

Now to OIC -

Create Twitter Connection in OIC 

Create Integration in OIC

This integration will have a REST trigger -
Request is
{"message": This is a tweet from OIC"}

Response is 

I now drop the Twitter connection after the Trigger - TweetSomething

Configure as follows -

Map incoming request message to Tweet status.

Now map the integration response -

Here I return the id of the Tweet.

Set the Tracking and Activate the integration -

Then Test -

Validate on Twitter -

No comments: