Giphy
GIFs are a great way to change the tone or convey emotions in your conversations. Here's a guide which helps to implement Gifphy in an easy and quick way. Let's get started!
Before you begin
- Sign up at Giphy and create a new app.
- Select API and click on Next.
- Enter your App name, description and click create.
- Make note of the API key that has been created.
Extension settings
- Login to CometChat and select your app.
- Go to the Extensions section and enable the Giphy extension.
- Click on the settings button and enter your Giphy API key and hit save.
How does it work?
This extension uses the callExtension
method provided by the CometChat SDK. You can perform the following actions using this method:
- Get trending GIFs
- Search for GIFs
Get Trending GIFs
To list and show the most trending GIFs on Giphy, all you have to do is include the following parameters in your request.
key | Value | Description |
---|---|---|
offset | number | Since you can get paginated results for trending GIFs, you can provide an offset and fetch results accordingly |
limit | number | The number of trending GIFs that you want to fetch |
Once you have set the above parameters, you can make a call to the extension as follows:
- Javascript
- Java
- Swift
const URL = "v1/trending?offset=1&limit=15";
CometChat.callExtension("gifs-giphy", "GET", URL, null)
.then((response) => {
// GIFs data from Giphy
})
.catch((error) => {
// Error occured
});
String URL = "/v1/trending?offset=1&limit=15";
CometChat.callExtension("gifs-giphy", "GET", URL, null,
new CometChat.CallbackListener < JSONObject > () {
@Override
public void onSuccess(JSONObject jsonObject) {
// GIFs data from Giphy
}
@Override
public void onError(CometChatException e) {
// Some error occured
}
});
CometChat.callExtension(slug: "gifs-giphy", type: .get, endPoint: "v1/trending?offset=10&limit=15", body: nil, onSuccess: { (response) in
// GIFs data from Giphy
}) { (error) in
// Some error occured
}
}
Search for GIFs
Apart from listing the trending ones, the extension also allows searching for a particular GIF using the following parameters:
key | value | Description |
---|---|---|
offset | number | Since you can get paginated results for searches, you can provide an offset and fetch results accordingly. |
limit | number | The number of GIFs that you want to fetch as part of the search. |
lang | 2-letter ISO 639-1 language identifier | (Optional) Defaults to en. (Example values: es, fr, it.) |
query | string | Search term |
Once you have all the above parameters, you can make a call to the extension as follows:
- Javascript
- Java
- Swift
const URL = "v1/search?offset=1&limit=15&query=awesome";
CometChat.callExtension("gifs-giphy", "GET", URL, null)
.then((response) => {
// GIFs data from Giphy
})
.catch((error) => {
// Error occured
});
String URL = "/v1/search?offset=1&limit=15&query=awesome";
CometChat.callExtension("gifs-giphy", "GET", URL, null,
new CometChat.CallbackListener < JSONObject > () {
@Override
public void onSuccess(JSONObject jsonObject) {
// GIFs data from Giphy
}
@Override
public void onError(CometChatException e) {
// Some error occured
}
});
CometChat.callExtension(slug: "gifs-giphy", type: .get, endPoint: "v1/search?offset=10&limit=15&query=awesome", body: nil, onSuccess: { (response) in
// GIFs data from Giphy
}) { (error) in
// Some error occured
}
}