Introduction
Smart Social Feed addon allows the user to get feeds and updates from different social media platforms. It has easy to use methods as this addon provides a user-friendly interface.
This addon can be used to get feeds from social platforms like Facebook, YouTube, Twitter, Instagram and Vimeo.
Compatibility
EE Compatible Version: EE4, EE5, EE6.
Platforms
Smart Social Feed addon provides the facebook updates of the respective page in no time. Enter facebook page ID to get started. You can also select the types of feeds that you wish to receive, for instance, only videos, only photos, all of them etc.
Smart social feed addon updates you with all the tweets for a given Twitter account. The user has to insert the Twitter username to enjoy the benefits of such a feature.
Smart social feed plugin helps the user to stay updated with the Instagram posts as well. Insert the Instagram ID to use this feature. Currently, We provide the Instagram feed using the Facebook Instagram graph API and Instagram basic display API. We do not provide the “Albums” type of feed in the current version. We provide only the first latest 25 feed.
YouTube
Smart social feed addon provides the feeds and updates related to the YouTube channel of the user. Enter the channel ID of a given username to get the benefits of this service
Vimeo
Smart social feed addon helps in fetching feeds or videos for a given user ID or channel ID. The associated videos can be received easily using this feature. You can select between user uploaded video or channel videos that you wish to receive.
Convert profile to page
Due to Facebook’s privacy policy, we are not able to use the addon to get all of your posts from the personal profile, only from a public page, as posts from a personal profile are protected for privacy reasons of Facebook.
If you’re using the profile to represent a business, product, organization, public figure, or something else other than yourself, then we had advise converting your profile to a page per Facebook’s recommendation: http://www.facebook.com/help/175644189234902/
There are many advantages to using pages over the profiles. It is in fact against Facebook policies to use a profile to represent something other than yourself. See “Why should I convert my profile to a page” in the above link.
Steps to create the page from Profile.
- Go to Create a Facebook Page Based on Your Profile.
- Click on the “Get Started” button.
- Select the appropriate category for your business page.
- Select the “Friends” and “Followers” for your page.
- Select the “Videos”, “Photos” and the “Albums’ for your page.
- Finally, click on the “Create Page” button.
Once you have converted to a page then the addon will be able to retrieve and display all of your posts.
Link your instagram to facebook
Before you start you need to do something very first to work with the Instagram feed.
Essentials setups you need.
- You have an Instagram creator account or Instagram business account.
- Need to connect the Facebook page to that account.
Set up a Business Account on Instagram.
First of all, download the Instagram app on your mobile and create an account.
Follow the steps to create the Instagram account.
If you have a personal account then convert it to a business account. It is a must to have a business account to link with Facebook.
To convert your personal profile to a business account.
-
- First, go to the profile and tap on the
icon in upper right corner.
- Tap on settings
icon.
- Tap on the account.
- Tap switch on Switch to professional account.
- Tap on business.
- If you’d like, you can follow the steps to connect your business account to a Facebook Page associated with your business. This step is optional and will make it easier to use all of the features available for businesses across the Facebook family of apps. At this time, only one Facebook Page can be connected to your business account.
- Add your business category and contact information.
- First, go to the profile and tap on the
Now Instagram setup is completed. Move to the further steps to connect with the Facebook account.
Connect Facebook page to the account.
- First, Select your Facebook page Or Create new page if you had not created yet.
- Select “Settings” from the menu.
- Select “Instagram” from the menu.
- Now select “Connect Account” to add an Instagram account. Login into your Instagram account. Till now you have not converted your personal account into the business you will be prompted.
Also, you can remove your Instagram account anytime by selecting the “Disconnect Account”.
Authenticate Instagram Facebook Graph API
Steps to create the App and authenticate Instagram Facebook Graph API.
-
-
- Go to All Apps – Facebook for Developers, Click on the “Create App” button.
- Select the “For Everything Else” option.
- Enter the name of the app and click on “Create App ID”.
- Complete the security check and click on the “Submit” button.
- Add the “Facebook Login” product so click on the “Set Up” button of that product.
- Go to the “PRODUCTS > Facebook Login > Settings”.
- Open smart social feed addon in the ExpressionEngine admin. Click on the “Create New” button.
- Enter the title for the setting and click on the “INSTAGRAM SETTINGS (FACEBOOK INSTAGRAM GRAPH API)” tab.
- Copy the URL of “Set OAuth Redirect URI” of addon setting and paste to the “Valid OAuth Redirect URIs” textbox of the settings of the “Facebook Login” product.
- Go to the “Settings > Basic” of the app. Copy “App ID” from the basic page of the app.
- Click on the “Show” button of the “App Secret” input field.
- Enter the password of your Facebook account and click on the “Submit” button.
- Copy “App Secret” from the basic page of the app.
- Paste “App Secret” to the “Application Secret” of the addon setting.
- Click on the “Get User Token” button of the addon setting. One popup is opened and provides permission in it so the “Application User Token” input field fills up automatically.
- Click on the “Get my Instagram Accounts” button of the addon setting. Instagram account IDs options are added in the form so you can select any appropriate account ID.
- Click on the “Submit” button of the addon setting.
Instruction
- Your app must be in the “In development” mode.
- Your site must have SSL.
- Click on the “Show” button of the “App Secret” input field.
- Go to All Apps – Facebook for Developers, Click on the “Create App” button.
-
Authenticate Instagram Basic Display API
The Instagram Basic Display API allows your app users to get photos and videos in their Instagram public type of accounts.
Before You Start
You will need:
- A Facebook Developer Account
- An Instagram account. (Type: Public)
- A public website that you own. (HTTPS on websites are required if you want to authorize Instagram accounts used by authorized windows on your website.)
Step to authorize API
-
- Go to Facebook Developer Account,Click on My Apps button,and create a new app.
- Select the For Everything Else option from the popup.
- Enter the name in the App Display Name field that you want. Click on the Create App ID button.
- Complete the security check of google recaptcha and submit the form.
- Finally, the app is created. Add the Instagram Basic product in the app created. To do so, click on the Set Up button of this product.
- Click on the Create New App button of the Basic Display page of the added Instagram Basic Display product.
- You can change the name in the Display Name field in the form of Create a New Instagram App ID if you want to change, otherwise you can keep the same name. Click on the Create App button.
- We must add an Instagram Tester to the app created to access tokens to be generated. For this, click on the Add or Remove Instagram Testers button of the User Token Generator tab of the Basic Display page.
- The Roles page is now open. Click on the Add Instagram Testers button of the Instagram Testers tab of this page.
- Enter the username of the Instagram account you want to add in the form of the Add Instagram Testers form and select desired account and click on the Submit button.
- Instagram tester is added but it will show as pending. The Instagram tester must accept the invitation in the App and Websites section of their profile.
- Click on the Accept button of the specific invited app in the TESTER INVITES tab of the Settings > Apps and Websites of the invited Instagram account. Now Instagram account is successfully added as terster and activated.
- Go to the Smart Social Feed addon in EE admin and create the new setting and click on the Instagram Settings (Instagram Basic Display API) tab.
- This is the important step to create the token.
- We can create the token using the Authorised Window using the EE admin panel.
- We can create the token using the User Token Generator of the app.
- First, we will see how to create a token using the Authorised Window method. Copy the Instagram App ID and Instagram App Secret from the Basic Display page.
- Paste the Instagram App ID to Application ID (Instagram App ID) and Instagram App Secret to Application Secret (Instagram App Secret) of the addon setting.
- Copy the Set OAuth Redirect URI from the addon setting and paste to the Valid OAuth Redirect URIs field of the Client OAuth Settings tab of the Basic Display page.
Note: Your website URL must with https. - We should add a website URL or Set OAuth Redirect URI to Deauthorize Callback URL field of the Deauthorize and Data Deletion Request URL field of the Data Deletion Requests tab of the Basic Display page. We need to add these two URLs in the app because it is a required field for this form. Click on the Submit Changes button to save the details.
Note: Our addon takes any action on both URL (Deauthorize Callback URL, Data Deletion Request URL). - Click on the Get User Token in the addon setting.
- One Authorization Window will open to ask permission to access the media of the Instagram account. Click on the Authorize button.
- If everything is perfect then a token is created and is auto placed to the Application User Token field of the addon setting.
- Go to Facebook Developer Account,Click on My Apps button,and create a new app.
- If you don’t want to create the token using the Authorization Window using your site then you can use the second method to create the token using the User Token Generator of the app.For this method, You need to click on the Generate Token button of the User Token Generator tab
- In this method, a popup window will open and ask for a login to the account in instagram.
- Click on the Authorize button to give the access to the media of the Instagram account.
- Your token is generated. Check the I Understand checkbox field, copy the token, and click on the Done button.
- Then, you can paste the token to the Application User Token field of the addon setting. In this method, you have to add Application ID (Instagram App ID) and Application Secret (Instagram App Secret) in the addon setting page. The advantage of this method is that we don’t add Set OAuth Redirect URI to the app setting.
- Now finally, we have got the token. We then provide the name of the addon setting and save this setting.
- Your setting is displayed on the Social Feed List page. Now you can click the sync Icon of your setting to get the feed.
- If setting details are valid then you get a message saying, Feed synchronized successfully, which means that means you have got the feed successfully from the account.
Installation
Follow below steps to install Smart Social Feed version:
EE4, EE5, EE6:
- Download and Extract ZIP file of the module. (We recommend to use the latest version.)
- Copy Smart_Social_Feed > system > user > addons > smart_social_feed folder to “Your Site > system > user > addons” Folder.
- Copy Smart_Social_Feed > themes > user > smart_social_feed folder to “Your Site > themes > user” Folder.
- Login to backend panel with Super admin credentials.
- Go to “Developer > Add-Ons” and Install Smart Social Feed module.
Note: If you purchased the addon from Devot:ee then you can get the license key from the licenses tab in your profile.
Social Feed
Social Feed List allows to create or edit Social media feeds as per your requirements.
You can create a new feed just by clicking on CREATE NEW button.
Also, you can edit and manage the previously created feeds with ease.
Create feeds for social platforms like Facebook, Twitter, Instagram, YouTube, Vimeo with ease.Once created it will be displayed in the row of the table.
Social Feed List (Default view)
It contains five columns. These are listed below in detail.
- ID
This column contains the ID of the created feed. This is used for parameter feed_id in tags for creating feed. - Label
This column consists of the name of the already created feeds. - Short Name
This column contains the short name of the created feed. This is used for parameter feed_name in tags for creating feed. - Manage
It has three sub elements:- Edit:
This is used to edit the previously created feed. - Synchronize feed:
This is used to call API again and save data to the database.
So every time synchronize is clicked the api is called and data is fetched again and save to the database by removing previously saved data. - Clear cache :
It helps in removing the cached data from the database which was saved during the call to API.
- Edit:
- Multiple Delete
The already created feeds can be deleted using this option.
Check the feeds that need to be omitted. now, select “remove” which will appear as soon as the feed is checked.
Apply submit to complete the process.
Social Feed List allows you to create or edit Facebook feeds in an easy way. CREATE NEW button helps in creating the required feed. Here, you can easily manage the previously created feed.
Due to Facebook’s privacy policy you’re not able to get posts from a profile, only from a public Facebook Page. More Info.
You can edit or modify the fields whenever required.
Smart Social Feed:Facebook (Default view)
There are multiple fields that can be changed as per your requirements. Details about those fields are mentioned below:
-
- Important URLs:
Important URLs contains two sub-links.-
- Generate Credentials from here.
Click on this link to generate your Application ID and Application Secret for Facebook app.
- More information about this here
This section provides further details regarding the usage of the Facebook feature in this addon.
-
- Set OAuth Redirect URI:
Copy the URL of “Set OAuth Redirect URI” of addon setting and paste to the “Valid OAuth Redirect URIs” textbox of the settings of the “Facebook Login” product.
- Important URLs:
- Application ID:
This field contains your Facebook Application ID which is generated by your Facebook app. - Application Secret:
This field must contain your Facebook Application Secret which is generated by your facebook app. - Facebook page ID:
This section contains your facebook page ID whose feed you want to fetch. In case, you do not have a Facebook ID, get one with the help of the link present below this field. . - Limit to page posts:
This field allows you to fetch data which is only posted or published by the page. In case you want this feature, select yes or no otherwise. - Types of feed:
This field contains multiple options to fetch the selected type of feed from the facebook page. For Instance, select videos option, in case, only the posts related to videos is required. You can select multiple options. - Cache Duration:
Duration in minutes after which data will be fetched from social sites api call instead of data cached in database. For given duration the data will be return from database that is saved when making first api call to social sites. Default value will be 30 minutes. - Limit:
Limit to number of posts or data you want to fetch. Default value will be 10.
Social Feed List allows you to create or edit Twitter feeds for a given Twitter user in an easy way. CREATE NEW button helps in creating the required feed.
Here, you can easily manage the previously created feed.
Smart Social Feed:Twitter (Default view)
You can edit or modify the fields whenever required. Details about these fields are mentioned below.
To get further information related to the usage of this addon for Twitter, click on this.
- Consumer Key (API Key):
This field contains your Twitter Consumer Key which is generated from your Twitter app. - Consumer Secret(API Secret):
This field contains your Twitter Consumer Secret which is generated from your Twitter app. - Twitter Username:
To get the information related to the tweets of a certain user, this field is used. Enter the Twitter username of that user here. - Include Retweets:
Select Yes in case you want to fetch the retweets too ,otherwise, go for No option. - Cache Duration:
Mention the cache duration here only in minutes. During this period, the data is fetched from the database where it was saved while making the first API call to the social media api. After that period, data will again be fetched from API and will be saved to the database. This cycle goes on. The default value of this field is 30 minutes. - Limit:
It puts a limit on the number of posts or data you want to fetch. The default value is 10 posts.
Instagram (Deprecated)
Social Feed List allows you to create or edit Instagram feeds for a given Instagram user in an easy way and also according to your requirement. CREATE NEW button helps in creating the required feed.
Here, you can easily manage the previously created feed.
Smart Social Feed:Instagram (Default view)
Edit or modify the fields whenever required. Details about these fields are mentioned below.
- Important URLs:
Important URLs contains two sub-links.-
- Generate Credentials from here.
You can generate your CLIENT ID and get REDIRECT URI for Instagram by following this link.
- More information about this here.
To get further information related to the usage of this addon for Instagram , click on this.
-
- Instagram Access Token:
This field consists of your Instagram access token. In case you do not have your token, generate one from the link mentioned below this label as ‘https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token’ where ‘CLIENT-ID’ and ‘REDIRECT-URI’. Here, replace the ‘CLIENT-ID’ and ‘REDIRECT-URI’ with your Client-ID and Redirect-URI respectively. Get your access token in the url. - Instagram User ID:
This field contains Instagram User ID of the user whose feeds and posts you want to fetch.
NOTE: In case you are using sandbox mode for Instagram, then add that user to the sandbox account. - Cache Duration:
Mention the cache duration here only in minutes. During this period, the data is fetched from the database where it was saved while making the first API call to the social media api. After that period, data will again be fetched from API and will be saved to the database. This cycle goes on. The default value of this field is 30 minutes. - Limit:
It puts a limit on the number of posts or data you want to fetch. The default value is 10 posts.
Instagram Basic Display API
Social Feed List allows you to create or edit Instagram feeds for the Instagram user easily and according to the user’s requirement. The CREATE NEW button helps to create the required feed.
Check this page “Authenticate Instagram Basic Display API” to get step-wise authentication for Instagram basic display API.
Smart Social Feed:
Instagram Facebook Basic Display API(Default view)
Edit or modify the fields whenever required. Details about these fields are as follows.
- “Set OAuth Redirect URI” Copy the Set OAuth Redirect URI from the addon setting and paste to the Valid OAuth Redirect URIs field of the Client OAuth Settings tab of the Basic Display page.
Note: Your website URL is a must with https.
- Application ID (Instagram App ID):
This field contains the Instagram App ID of the user’s app whose feeds and posts you want to fetch. - Application Secret (Instagram App Secret):This field contains the Instagram App Secret of the user’s app whose feeds and posts you want to fetch.
- Cache Duration:
Mention the cache duration here only in minutes.
During this period, the data is saved in the database and is fetched while making the first API call to the social media api.
After that duration, again the data will be fetched from the API and will be saved to the database. The cycle goes on.
The default value of this field is 30 minutes.
Limitation
- You get only the latest 25 feeds. We are working on it to get more feeds and it will be provided in the next version.
- We provide only two types of feed (IMAGE, VIDEO). We do not provide a CAROUSEL_ALBUM type of post. We are working on it to get the CAROUSEL_ALBUM type of feed, and it will be provided in the next version.
Instagram Facebook Graph API
You must have your Instagram Account linked to a Facebook Business Page. If you had not linked yet then you can get more detail about this thing from this “Link your instagram to facebook” page.
Social Feed List allows you to create or edit Instagram feeds for a given Instagram user in an easy way and also according to your requirement. CREATE NEW button helps in creating the required feed.
Check this page “Authenticate Instagram Facebook Graph API” to get each step of the process of authentication for Instagram Facebook graph API.
Here, you can easily manage the previously created feed.
Edit or modify the fields whenever required. Details about these fields are mentioned below.
- Set OAuth Redirect URI:You need to add “Set OAuth Redirect URI” URL in “Facebook Login-settings-> Valid OAuth Redirect URLs” of facebook app. Please see below screenshot.
- Application ID:This field contains Facebook Application ID of the user’app whose feeds and posts you want to fetch.
- Application Secret:This field contains Facebook Application Secret of the user’s app whose feeds and posts you want to fetch.
- Application User Token: You can get this token value once you click on the “Get User Token” button.
- Instagram Account ID: You can select the instagram account ID once you click on the “Get my Instagram Accounts” button.
- Cache Duration:Mention the cache duration here only in minutes.
During this period, the data is fetched from the database where it was saved while making the first API call to the social media api.
After that period, data will again be fetched from API and will be saved to the database.
This cycle goes on. The default value of this field is 30 minutes.
YouTube
Social Feed List allows you to create or edit YouTube feeds for a given YouTube channel in an easy way. CREATE NEW button helps in creating the required feed.
Here, you can easily manage the previously created feed also.
Smart Social Feed:YouTube (Default view)
Edit or modify the fields whenever required. Details about these fields are mentioned below.
- Important URLs:
Important URLs contains two sub-links. - Channel ID:
This field must contain your YouTube channel ID. If you dont have channel ID you can fetch it from the link mentioned below. - API Key:
This field must contain Google API Key. - Cache Duration:
Mention the cache duration here only in minutes. During this period, the data is fetched from the database where it was saved while making the first API call to the social media api. After that period, data will again be fetched from API and will be saved to the database. This cycle goes on. The default value of this field is 30 minutes. - Limit:
It puts a limit on the number of posts or data you want to fetch. The default value is 10 posts.
Vimeo
Social Feed List allows you to create or edit Vimeo feeds for a given Vimeo user in an easy way. CREATE NEW button helps in creating the required feed.
Here, you can easily manage the previously created feed also.
Smart Social Feed:Vimeo (Default view)
Edit or modify the fields whenever required. Details about these fields are mentioned below.
- Important URLs:
Important URLs contains two sub-links. - Vimeo Feed Type:
It gives two options. They are- User Feeds
- Channel Feeds
The selection of an option depends on the type of videos you want to fetch. If you need user-uploaded videos then go for the User Feed, otherwise, select Channel Feed for channel videos.
- Vimeo User ID/Vimeo Channel ID:
This field must contain Vimeo User ID or Vimeo Channel ID which is entirely based on Vimeo Feed Type that you select
How to get User ID or Channel ID?
Vimeo:User ID
Vimeo:Channel ID
- Include Private Videos:
Select Yes if you also want to include private videos while fetching Videos of the related channel, otherwise select No. - Cache Duration:
Mention the cache duration here only in minutes. During this period, the data is fetched from the database where it was saved while making the first API call to the social media api. After that period, data will again be fetched from API and will be saved to the database. This cycle goes on. The default value of this field is 30 minutes. - Limit:
Limit the number of posts or data you want to fetch. The default value is 10.
Custom Sidebar
We provide one “customSidebar” function in the MCP file. You can add more menus in the sidebar of the addon using this function.
/* To get dynamic menu in the addon */ function customSidebar(){ $sidebar = ee('CP/Sidebar')->make(); $this->navSettings = $sidebar->addHeader('Test Link', ''); }
You can create or edit a smart social feed for facebook for fetching facebook feeds or posts. Details for the same are shared below.
Tag for facebook feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_identifier
- post_saved_time
- post_from_name
- post_from_id
- post_id
- plateform
- post_name
- post_message
- post_description
- post_created_time
- post_total_likes
- post_total_comments
- post_total_shares
- post_thumbnail_image
- post_full_image
- post_url
- post_story
- post_type
- post_relative_date
- page_source
Following Parameters can be use in Facebook feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "5"
feed_name
Name of feed being created from backend.
Example:
feed_name = "social_feed"
plateform
Select plateforms if data to be displayed of specific plateform.
Example:
plateform = "facebook|twitter|instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the fetched data. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., facebook) <p>SSF Id : {ssf_id}</p> <p>Post Identifier : {post_identifier}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y"}</p> <p>Post Id : {post_id}</p> <p>Post From Name : {post_from_name}</p> <p>Post From Id : {post_from_id}</p> <p>Post Name : {post_name}</p> <p>Post Message : {post_message}</p> <p>Post Description : {post_description}</p> <p>Post Created Time : {post_created_time}</p> <p>Relative Date : {post_relative_date}</p> <p>Total Likes : {post_total_likes}</p> <p>Total Comments : {post_total_comments}</p> <p>Total Shares : {post_total_shares}</p> {if post_thumbnail_image} // get thumbnail image <p>Thumbnail Image : <img src="{post_thumbnail_image}"></p> {/if} {if post_full_image} // get full image <p>Full Image : <img src="{post_full_image}"></p> {/if} <p>Post Url : {post_url}</p> <p>Post Story : {post_story}</p> <p>Post Type : {post_type}</p> {if post_type == "video" && post_source != ""} // Return video URL <div> <iframe src="{post_source}"></iframe> </div> {/if} {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
You can create or edit a smart social feed for twitter for fetching twitter feeds or tweets. Details for the same are shared below.
Tag for twitter feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_identifier
- post_saved_time
- plateform
- post_from_name
- post_from_id
- post_id
- post_description
- post_created_time
- favorite_count
- retweet_count
- geo
- coordinates
- place
- post_relative_date
- post_video
Following Parameters can be use in Twitter feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "5"
feed_name
Name of feed being created from backend.
Example:
feed_name = "social_feed"
plateform
Select plateforms if data to be displayed of specific plateform.
Example:
plateform = "facebook|twitter|instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the fetched data. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
sort = "ASC"
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., twitter) <p>SSF Id : {ssf_id}</p> <p>Post Identifier : {post_identifier}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y"}</p> <p>Post Id : {post_id}</p> <p>Post From Name : {post_from_name}</p> <p>Post From Id : {post_from_id}</p> <p>Post Description : {post_description}</p> <p>Post Created Time : {post_created_time}</p> <p>Total Favorites : {favorite_count}</p> <p>Total Retweets : {retweet_count}</p> <p>Geo : {geo}</p> <p>Coordinates : {coordinates}</p> <p>Place : {place}</p> <p>Post type : {post_type}</p> {if plateform == "twitter"} // Give you proper relative date. (i.e., 2m, 6h, 2days etc.) <p>Relative Date : {post_relative_date}</p> {/if} {if post_full_image} // If any image uploaded in tweets <p>Post full image : <img src="{post_full_image}"></p> {/if} {if post_url} // give post URL if post type is video, photo or GIF <p>Post url : {post_url}</p> {/if} {if post_type == "video" && post_video != ""} // Return video URL if uploaded in tweets <div> <iframe src="{post_video}"></iframe> </div> {/if} {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
Instagram (Deprecated)
You can create or edit a smart social feed for instagram for fetching instagram feeds or posts. Details for the same are shared below.
Tag for instagram feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_identifier
- post_saved_time
- plateform
- post_from_name
- post_from_id
- post_id
- post_created_time
- post_total_likes
- post_total_comments
- post_thumbnail_image
- post_full_image
- post_url
- post_relative_date
- post_video
- post_description
- post_type
- post_carousel
Following Parameters can be use in Instagram feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "5"
feed_name
Name of feed being created from backend.
Example:
feed_name = "social_feed"
plateform
Select plateforms if data to be displayed of specific plateform.
Example:
plateform = "facebook|twitter|instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the fetched data. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
sort = "ASC"
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., instagram) <p>SSF Id : {ssf_id}</p> <p>Post Identifier : {post_identifier}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y"}</p> <p>Post Id : {post_id}</p> <p>Post From Name : {post_from_name}</p> <p>Post From Id : {post_from_id}</p> <p>Post Created Time : {post_created_time}</p> <p>Relative Date : {post_relative_date}</p> <p>Total Likes : {post_total_likes}</p> <p>Total Comments : {post_total_comments}</p> <p>Post thumbnail Image : {post_thumbnail_image}</p> <p>Post Full Image : {post_full_image}</p> <p>Post URL : {post_url}</p> //New Variables added in v1.1.7 <p>Post Video : {post_video}</p> <p>Post Description : {post_description}</p> <p>Post Type : {post_type}</p> // video, image, carousel <div> Post Carousel : {post_carousel} {if post_carousel:count == 1}<div>{/if} // Count variable {post_carousel:type} // video, image {post_carousel:url} // Video or Image URL {if post_carousel:count == post_carousel:total_results}</div>{/if} // Count variable {/post_carousel} </div> {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
Instagram Basic Display API
You can create or edit a smart social feed for instagram to fetch Instagram feeds or posts. Details for the same are shared below.
Tag for instagram feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_saved_time
- plateform
- post_from_name
- post_id
- post_created_time
- post_thumbnail_image: This variable gives result only for “VIDEO” type of feed.
- post_full_image
- post_relative_date
- post_video
- post_description
- post_type
The following parameters can be used for the Instagram feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "1"
feed_name
Name of feed being created from backend.
Example:
feed_name = "instagram_basic_display"
plateform
Select plateforms if data to be displayed on a specific plateform.
Example:
plateform = "facebook|twitter|basic_instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the data that is fetched. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
sort = "ASC"
limit
This parameter is used to get only a specified number of feeds. You can set a limit from 1 to 25.
Example:
limit = "4"
post_type
This parameter is used to get only specific types of feeds. You can set a specific type like IMAGE, VIDEO.
Example:
post_type = "IMAGE"
post_type = "VIDEO"
post_type = "IMAGE|VIDEO"
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., basic_instagram) <p>SSF Id : {ssf_id}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y %h:%m:%s"}</p> <p>Post Id : {post_id}</p> <p>Post From Name : {post_from_name}</p> <p>Post Created Time : {post_created_time format="%d-%m-%Y %h:%m:%s"}</p> <p>Relative Date : {post_relative_date}</p> <p>Post thumbnail Image : {post_thumbnail_image}<//p>/ post thumbnail image <p>Post Full Image : {post_full_image}</p> <p>Post Video : {post_video}</p> <p>Post Description : {post_description}</p> <p>Post Type : {post_type}</p> // VIDEO, IMAGE {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
Instagram Facebook Graph API
You can create or edit a smart social feed for instagram for fetching instagram feeds or posts. Details for the same are shared below.
Tag for instagram feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_identifier
- post_saved_time
- plateform
- post_from_name
- post_from_id
- post_id
- post_created_time
- post_total_likes
- post_total_comments
- post_thumbnail_image: This variable gives result only for “VIDEO” type of feed.
- post_full_image
- post_url
- post_relative_date
- post_video
- post_description
- post_type
- post_carousel
Following Parameters can be use in Instagram feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "5"
feed_name
Name of feed being created from backend.
Example:
feed_name = "social_feed"
plateform
Select plateforms if data to be displayed of specific plateform.
Example:
plateform = "facebook|twitter|instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the fetched data. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
sort = "ASC"
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., instagram) <p>SSF Id : {ssf_id}</p> <p>Post Identifier : {post_identifier}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y"}</p> <p>Post Id : {post_id}</p> <p>Post From Name : {post_from_name}</p> <p>Post From Id : {post_from_id}</p> <p>Post Created Time : {post_created_time}</p> <p>Relative Date : {post_relative_date}</p> <p>Total Likes : {post_total_likes}</p> <p>Total Comments : {post_total_comments}</p> <p>Post thumbnail Image : {post_thumbnail_image}</p> <p>Post Full Image : {post_full_image}</p> <p>Post URL : {post_url}</p> //New Variables added in v1.1.7 <p>Post Video : {post_video}</p> <p>Post Description : {post_description}</p> <p>Post Type : {post_type}</p> // video, image {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
YouTube
You can create or edit a smart social feed for YouTube for fetching YouTube feeds or videos. Details for the same are shared below.
Tag for YouTube feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_identifier
- post_saved_time
- plateform
- post_from_name
- post_from_id
- post_id
- post_name
- post_description
- post_created_time
- post_thumbnail_image
- post_full_image
- post_url
- youtube_embed
- post_relative_date
- post_video
Following Parameters can be used in YouTube feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "5"
feed_name
Name of feed being created from backend.
Example:
feed_name = "social_feed"
plateform
Select plateforms if data to be displayed of specific plateform.
Example:
plateform = "facebook|twitter|instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the fetched data. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
sort = "ASC"
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., youtube) <p>SSF Id : {ssf_id}</p> <p>Post Identifier : {post_identifier}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y"}</p> <p>Post Id : {post_id}</p> <p>Post From Name : {post_from_name}</p> <p>Post From Id : {post_from_id}</p> <p>Post Created Time : {post_created_time}</p> <p>Relative Date : {post_relative_date}</p> <p>Post Description : {post_description}</p> <p>Post thumbnail Image : {post_thumbnail_image}</p> <p>Post Full Image : {post_full_image}</p> <p>Post URL : {post_url}</p> <p>Youtube Embed : {post_video}</p> {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
Vimeo
You can create or edit a smart social feed for YouTube for fetching YouTube feeds or videos. Details for the same are shared below.
Tag for youtube feed will look like this.
{exp:smart_social_feed:pull} Content data {/exp:smart_social_feed:pull}
Parameters
Variables
- ssf_id
- post_identifier
- post_saved_time
- plateform
- post_from_id
- post_id
- post_name
- post_description
- post_created_time
- post_total_likes
- post_total_comments
- post_thumbnail_image
- post_full_image
- vimeo_embed
- post_url
- post_relative_date
- post_video
Following Parameters can be used in Vimeo feed
feed_id
Feed id of Feeds made from backend.
Example:
feed_id = "5"
feed_name
Name of feed being created from backend.
Example:
feed_name = "social_feed"
plateform
Select plateforms if data to be displayed of specific plateform.
Example:
plateform = "facebook|twitter|instagram|youtube|vimeo"
order_by
This parameter is used to order the data by certain column .
Example:
order_by = "ssf_id"
sort
This parameter is used to sort the fetched data. Default sorting is descending. You can either sort ascending,descending or random. ASC for ascending , DESC for descending and RAND for random.
Example:
sort = "ASC"
Example:
{exp:smart_social_feed:pull feed_id="1" } {if no_results}<p>No results!</p>{/if} {if count == 1} <div class="feed-wrapper"> {/if} <p>count : {count}</p> <p>Total Results : {total_results}</p> <p>id : {id}</p> <p>plateform : {plateform}</p> //current plateform (i.e., vimeo) <p>SSF Id : {ssf_id}</p> <p>Post Identifier : {post_identifier}</p> <p>Post Saved Time : {post_saved_time format="%d-%m-%Y"}</p> <p>Post Id : {post_id}</p> <p>Post Name : {post_name}</p> <p>Post From Id : {post_from_id}</p> <p>Post Description : {post_description}</p> <p>Post Created Time : {post_created_time}</p> <p>Relative Date : {post_relative_date}</p> <p>Post Likes : {post_total_likes}</p> <p>Post Comments : {post_total_comments}</p> <p>Post thumbnail Image : {post_thumbnail_image}</p> <p>Post Full Image : {post_full_image}</p> <p>Post URL : {post_url}</p> <p>Post Vimeo Embed : {post_video}</p> {if count == total_results} </div> {/if} {/exp:smart_social_feed:pull}
Changelog
- V1.2.0
- V1.1.9
- V1.1.8
- V1.1.7
- V1.1.6
- V1.1.5
- V1.1.4
- V1.1.3
- V1.1.2
- V1.5.0
- V1.6.1
- V2.0.0
- V2.0.1
- V2.0.4
- V2.0.5
- V3.0.0
V1.2.0
- To match permission modal changes of Instagram, We have integrated same permission within the module functionality in our addon for Instagram feed. Sandbox invite user feed is no longer work with Instagram API. You have to generate app from client’s Instagram to show their feed.
V1.1.9
- Facebook and Instagram announced a slew of API shutdowns and changes designed to stop developers from being able to pull your data or your friends’ data without express permission, drag in public content or trick you into sharing. We have added permission modal withing the addon so one can now add client ID and client secret of Facebook and click a single button to get access token withing the addon. You can only access feed of user whose API you are using and only after approve permission.
V1.1.8
- Add scope list in generate token URL for Instagram so user authorize full content access.
- Trim all setting information so if accidentally user pass key or secret with blank spaces, it won’t give error.
- Module uses file_get_contents( ) function to grab third party feeds. It will only work if allow_url_fopen variable is set ON from php.ini. We have put error message if this variable is not enabled in server.
- In Instagram feeds, You can only fetch data of Public account. We have add a notice message for that in form.
V1.1.7
- Solved a bug where Instagram feed not saves post creation time in database. (And because of this use was not able to get post relative date.)
- Added backend filter field for Instagram form to restrict API data by post type. (i.e., image, video, Carousel).
- Add new fields for Instagram feed.
{post_video}, {post_description}, {post_type}, {post_carousel} {!-- data --}{/post_carousel}
V1.1.6
- Solved a bug where Twitter description and URLs have non UTF-8 characters (Symbols) instead of actual data sometimes.
V1.1.5
- New design layout to match all backend design with EE3 and EE4.
- Resolve a bug where front-end tags was showing one empty row instead of moving to NO_RESULTS state if API key and Secret is valid but there is no data in users social account to display.
- Resolve a bug where in back-end setting page it was giving PHP notice sometimes.
- Change database Field Types to “text” for some of the fields from “varchar” and “mediumtext”.
V1.1.4
- Added new variables for Twitter
{post_full_image}, {post_url}, {post_type}, {post_twitter_video}
V1.1.3
- Solved a bug where if feed not fetch any data via backend sync button, It will give you success message.
- Solved a bug where after error on backend social feed settings page it submitted a new form instead of edit the same form.
- Solved a bug where custom_validation library conflict with other ZealousWeb modules.
- Module is now available in EE2 ( > EE2.8.0 )
V1.1.2
- Added Facebook settings that will give option to user to fetch feeds of his own posts or any posts in his page.
- Updated information links to module that locate user to documentation.
V1.5.0
- Added New Instagram Facebook graph API compatibility.
V1.6.1
- Removed the two invalid scops: manage_pages, publish_pages.
V2.0.0
- Upgradation work for the Facebook like remove the deprecated fields and disabled the user feed option and provide detail to convert the profile to the page.
- Updated the license verification process and setup so please update the license in your addon.
V2.0.1
- Fix bug of pulling the duplicate posts for Instagram.
V2.0.4
- Added the Instagram Basic Display API compatibility.
- Added the two parameters “limit” and “post_type” in the tag sepecially for the Instagram basic display API and Instagram facebook graph API setting.
V2.0.5
- Added the “post_url” field in the template tag for Instagram Basic Display API setting.
V3.0.0
- Compatible with EE6.