curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-H "X-Twitter-OAuth1-Api-Key: YOUR_CONSUMER_KEY" \
-H "X-Twitter-OAuth1-Api-Secret: YOUR_CONSUMER_SECRET" \
-d '{"profileKey": "PROFILE_KEY"}' \
-X POST https://api.ayrshare.com/api/profiles/generateJWT
const API_KEY = "API_KEY";
const PROFILE_KEY = "PROFILE_KEY";
fetch("https://api.ayrshare.com/api/profiles/generateJWT", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`,
"X-Twitter-OAuth1-Api-Key": "YOUR_CONSUMER_KEY",
"X-Twitter-OAuth1-Api-Secret": "YOUR_CONSUMER_SECRET"
},
body: JSON.stringify({
profileKey: PROFILE_KEY, // required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'profileKey': 'PROFILE_KEY'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY',
'X-Twitter-OAuth1-Api-Key': 'YOUR_CONSUMER_KEY',
'X-Twitter-OAuth1-Api-Secret': 'YOUR_CONSUMER_SECRET'}
r = requests.post('https://api.ayrshare.com/api/profiles/generateJWT',
json=payload,
headers=headers)
print(r.json())
<?php
require 'vendor/autoload.php'; // Composer auto-loader using Guzzle. See .../guzzlephp.org/en/stable/overview.html
$client = new GuzzleHttp\Client();
$res = $client->request(
'POST',
'https://api.ayrshare.com/api/post',
[
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY'
],
'json' => [
'profileKey' => 'PROFILE_KEY', // required
]
]
);
echo json_encode(json_decode($res->getBody()), JSON_PRETTY_PRINT);
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace GenerateJWTRequest_csharp
{
class GenerateJWT
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/profiles/generateJWT";
try
{
var sendData = new
{
profileKey = "PROFILE_KEY"
};
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
string jsonData = JsonConvert.SerializeObject(sendData);
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (HttpRequestException e)
{
Console.WriteLine($"HTTP request error: {e.Message}");
}
catch (Exception e)
{
Console.WriteLine($"Unexpected error: {e.Message}");
}
}
}
}
{
"status": "success",
"title": "User Profile Title",
"token": "ayr_ls_kJ8mQ2vX9pLnR4tYwZ6aBcD1eFgH3iJkLmN0oPqRsTu",
"url": "https://profile.ayrshare.com?session=ayr_ls_kJ8mQ2vX9pLnR4tYwZ6aBcD1eFgH3iJkLmN0oPqRsTu&domain=PROVIDED_DOMAIN",
"emailSent": true,
"expiresIn": "5m"
}
{
"action": "JWT",
"status": "error",
"code": 189,
"message": "Error generating JWT. Check the sent parameters.",
"details": "Missing or incorrect domain."
}
{
"action": "JWT",
"status": "error",
"code": 188,
"message": "Both twitterApiKey and twitterApiSecret are required. You provided only one."
}
{
"action": "JWT",
"status": "error",
"code": 434,
"message": "X/Twitter API credentials were provided in both the request headers and the request body. Please use the headers only. See https://www.ayrshare.com/docs/apis/profiles/generate-jwt"
}
Profiles
लिंकिंग URL बनाएँ (generateJWT)
generateJWT एंडपॉइंट से किसी User Profile के लिए सोशल लिंकिंग URL बनाएँ।
POST
/
profiles
/
generateJWT
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-H "X-Twitter-OAuth1-Api-Key: YOUR_CONSUMER_KEY" \
-H "X-Twitter-OAuth1-Api-Secret: YOUR_CONSUMER_SECRET" \
-d '{"profileKey": "PROFILE_KEY"}' \
-X POST https://api.ayrshare.com/api/profiles/generateJWT
const API_KEY = "API_KEY";
const PROFILE_KEY = "PROFILE_KEY";
fetch("https://api.ayrshare.com/api/profiles/generateJWT", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`,
"X-Twitter-OAuth1-Api-Key": "YOUR_CONSUMER_KEY",
"X-Twitter-OAuth1-Api-Secret": "YOUR_CONSUMER_SECRET"
},
body: JSON.stringify({
profileKey: PROFILE_KEY, // required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'profileKey': 'PROFILE_KEY'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY',
'X-Twitter-OAuth1-Api-Key': 'YOUR_CONSUMER_KEY',
'X-Twitter-OAuth1-Api-Secret': 'YOUR_CONSUMER_SECRET'}
r = requests.post('https://api.ayrshare.com/api/profiles/generateJWT',
json=payload,
headers=headers)
print(r.json())
<?php
require 'vendor/autoload.php'; // Composer auto-loader using Guzzle. See .../guzzlephp.org/en/stable/overview.html
$client = new GuzzleHttp\Client();
$res = $client->request(
'POST',
'https://api.ayrshare.com/api/post',
[
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY'
],
'json' => [
'profileKey' => 'PROFILE_KEY', // required
]
]
);
echo json_encode(json_decode($res->getBody()), JSON_PRETTY_PRINT);
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace GenerateJWTRequest_csharp
{
class GenerateJWT
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/profiles/generateJWT";
try
{
var sendData = new
{
profileKey = "PROFILE_KEY"
};
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
string jsonData = JsonConvert.SerializeObject(sendData);
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (HttpRequestException e)
{
Console.WriteLine($"HTTP request error: {e.Message}");
}
catch (Exception e)
{
Console.WriteLine($"Unexpected error: {e.Message}");
}
}
}
}
{
"status": "success",
"title": "User Profile Title",
"token": "ayr_ls_kJ8mQ2vX9pLnR4tYwZ6aBcD1eFgH3iJkLmN0oPqRsTu",
"url": "https://profile.ayrshare.com?session=ayr_ls_kJ8mQ2vX9pLnR4tYwZ6aBcD1eFgH3iJkLmN0oPqRsTu&domain=PROVIDED_DOMAIN",
"emailSent": true,
"expiresIn": "5m"
}
{
"action": "JWT",
"status": "error",
"code": 189,
"message": "Error generating JWT. Check the sent parameters.",
"details": "Missing or incorrect domain."
}
{
"action": "JWT",
"status": "error",
"code": 188,
"message": "Both twitterApiKey and twitterApiSecret are required. You provided only one."
}
{
"action": "JWT",
"status": "error",
"code": 434,
"message": "X/Twitter API credentials were provided in both the request headers and the request body. Please use the headers only. See https://www.ayrshare.com/docs/apis/profiles/generate-jwt"
}
किसी User Profile के लिए सोशल लिंकिंग URL बनाएँ। एंडपॉइंट का नाम अब भी
generateJWT है, लेकिन यह जो token लौटाता है वह ओपेक है और JWT नहीं है।
अधिक विवरण के लिए लिंकिंग URL का अवलोकन देखें।
लिंकिंग URL 5 मिनट के लिए वैध है। 5 मिनट के बाद आपको एक नया लिंकिंग URL उत्पन्न करना होगा।
अतिरिक्त विकल्पों के लिए Max Pack
expiresIn देखें।लौटाया गया
token एक ओपेक स्ट्रिंग है जो ayr_ls_ से शुरू होती है: यह डिकोड किया जा सकने
वाला JWT नहीं है और इसमें कोई पढ़ने योग्य payload नहीं होता। url को जैसा लौटाया गया है वैसा ही अपने
उपयोगकर्ता को दें, और token को ऐसी क्रेडेंशियल मानें जिसे आप सहेजते हैं, जाँचते नहीं। पहले बनाए गए
लिंक अब भी काम करते हैं।POST /profiles/link-sessions वही काम बिना पुराने पैरामीटर के करता है, और इससे आप किसी लिंक की
स्थिति देख या उसे रद्द भी कर सकते हैं। देखें
Link Session बनाना।हेडर पैरामीटर
string
X Developer Portal से आपकी X API Key (Consumer Key)।
twitterApiKey बॉडी पैरामीटर का विकल्प। प्रदान किए जाने पर, उत्पन्न लिंकिंग URL OAuth लिंकिंग के लिए आपके X Developer App का उपयोग करेगा।string
X Developer Portal से आपकी X API Secret (Consumer Secret)।
twitterApiSecret बॉडी पैरामीटर का विकल्प। X-Twitter-OAuth1-Api-Key प्रदान किए जाने पर आवश्यक।अनुशंसित: सभी अन्य Ayrshare API एंडपॉइंट्स के साथ संगति के लिए अपनी X क्रेडेंशियल्स को हेडर (
X-Twitter-OAuth1-Api-Key और X-Twitter-OAuth1-Api-Secret) के माध्यम से पास करें। twitterApiKey और twitterApiSecret बॉडी पैरामीटर पिछड़े संगतता के लिए अभी भी समर्थित हैं।बॉडी पैरामीटर
string
ऐप का डोमेन। कृपया ऑनबोर्डिंग के दौरान दिए गए सटीक डोमेन का उपयोग करें।वैकल्पिक। न भेजने पर आपके अकाउंट का ही domain इस्तेमाल होता है। अगर आप भेजते हैं, तो वह आपके अकाउंट पर रजिस्टर्ड domain होना चाहिए।
string
अप्रचलित
अब इस्तेमाल नहीं होता। यह फ़ील्ड स्वीकार की जाती है और नज़रअंदाज़ कर दी जाती है, इसलिए मौजूदा इंटीग्रेशन बिना बदलाव के काम करते रहते हैं।लिंकिंग URL अब साइन नहीं किए जाते, इसलिए कोई key भेजने की ज़रूरत नहीं है। आप इस फ़ील्ड को हटा सकते हैं और इस काम के लिए private key संभालना बंद कर सकते हैं।
string
आवश्यक
User Profile Key। इस फ़ील्ड में API Key का उपयोग नहीं किया जा सकता।
boolean
डिफ़ॉल्ट:false
वर्तमान सत्र को स्वचालित रूप से लॉगआउट करें। प्रदर्शन को प्रभावित करने के कारण उत्पादन में उपयोग नहीं करने की अनुशंसा की जाती है।अधिक जानकारी के लिए Automatic Logout of a Profile Session देखें।
string
“Done” बटन या लोगो छवि पर क्लिक करने पर रीडायरेक्ट करने के लिए एक URL निर्दिष्ट करें। लौटाए गए लिंकिंग URL में URL स्वचालित रूप से शॉर्टन कर दिया जाएगा। रीडायरेक्ट URL में क्वेरी पैरामीटर
origin=true जोड़कर origin opener window को रीडायरेक्ट करें।array
लिंकिंग पेज में प्रदर्शित करने के लिए सोशल नेटवर्क निर्दिष्ट करें। यह Social Networks पेज में कॉन्फ़िगर किए गए सोशल नेटवर्कों को ओवरराइड कर देगा।
Only display Facebook, X/Twitter, LinkedIn, and TikTok
{
"allowedSocial": ["facebook", "twitter", "linkedin", "tiktok"]
}
string
इस URL के लिए सोशल लिंकिंग पेज पर उपयोगकर्ता Instagram बटन पर क्लिक करने पर कौन सा Instagram लिंकिंग फ़्लो उपयोग किया जाता है, इसे ओवरराइड करें। वैध मान:छोड़ दिए जाने पर, लिंकिंग पेज आपकी खाता-व्यापी Instagram Login सेटिंग का उपयोग करता है।अधिक जानकारी के लिए Instagram Link Method देखें।
instagram: सीधा Instagram Login, कोई Facebook पेज आवश्यक नहीं।facebook: कनेक्टेड Facebook पेज के माध्यम से Instagram लिंक करें।
Force direct Instagram Login for this linking session
{
"instagramLinkMethod": "instagram"
}
boolean
अप्रचलित
अब इस्तेमाल नहीं होता। यह फ़ील्ड स्वीकार की जाती है और नज़रअंदाज़ कर दी जाती है।सत्यापित करने के लिए कोई साइन किया हुआ token नहीं है: लौटाए गए
token को लिंकिंग पेज तब जाँचता है जब आपका उपयोगकर्ता URL खोलता है।boolean
अप्रचलित
अब इस्तेमाल नहीं होता। यह फ़ील्ड स्वीकार की जाती है और नज़रअंदाज़ कर दी जाती है, क्योंकि
privateKey अब पढ़ा नहीं जाता।number
डिफ़ॉल्ट:5
मिनटों में टोकन की लंबी अवधि सेट करें। सीमा: 1 मिनट से 2880 मिनट तक।अधिक जानकारी के लिए JWT Expires In देखें।
object
डिफ़ॉल्ट:5
उपयोगकर्ताओं के लिए उनके सोशल लिंकेज पेज तक सीधे पहुँच के लिए एक लिंक के साथ Connect Accounts ईमेल भेजें।अधिक जानकारी के लिए Connect Accounts Email देखें।
जब आप अपनी X API क्रेडेंशियल्स शामिल करते हैं, तो उत्पन्न लिंकिंग URL आपके अपने X Developer App का उपयोग करके OAuth लिंकिंग शुरू करेगा। आपके अंतिम उपयोगकर्ता X सहमति स्क्रीन पर आपके ऐप का नाम देखेंगे।
आवश्यक: इस सुविधा का उपयोग करने से पहले, आपको इन कॉलबैक URL को अपनी X Developer App सेटिंग्स में (Authentication settings > Callback URI / Redirect URL के अंतर्गत) जोड़ना होगा:
https://profile.ayrshare.com/social-accountshttps://app.ayrshare.com/social-accounts
403 Callback URL not approved त्रुटि के साथ विफल हो जाएगा।curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-H "X-Twitter-OAuth1-Api-Key: YOUR_CONSUMER_KEY" \
-H "X-Twitter-OAuth1-Api-Secret: YOUR_CONSUMER_SECRET" \
-d '{"profileKey": "PROFILE_KEY"}' \
-X POST https://api.ayrshare.com/api/profiles/generateJWT
const API_KEY = "API_KEY";
const PROFILE_KEY = "PROFILE_KEY";
fetch("https://api.ayrshare.com/api/profiles/generateJWT", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`,
"X-Twitter-OAuth1-Api-Key": "YOUR_CONSUMER_KEY",
"X-Twitter-OAuth1-Api-Secret": "YOUR_CONSUMER_SECRET"
},
body: JSON.stringify({
profileKey: PROFILE_KEY, // required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'profileKey': 'PROFILE_KEY'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY',
'X-Twitter-OAuth1-Api-Key': 'YOUR_CONSUMER_KEY',
'X-Twitter-OAuth1-Api-Secret': 'YOUR_CONSUMER_SECRET'}
r = requests.post('https://api.ayrshare.com/api/profiles/generateJWT',
json=payload,
headers=headers)
print(r.json())
<?php
require 'vendor/autoload.php'; // Composer auto-loader using Guzzle. See .../guzzlephp.org/en/stable/overview.html
$client = new GuzzleHttp\Client();
$res = $client->request(
'POST',
'https://api.ayrshare.com/api/post',
[
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY'
],
'json' => [
'profileKey' => 'PROFILE_KEY', // required
]
]
);
echo json_encode(json_decode($res->getBody()), JSON_PRETTY_PRINT);
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace GenerateJWTRequest_csharp
{
class GenerateJWT
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/profiles/generateJWT";
try
{
var sendData = new
{
profileKey = "PROFILE_KEY"
};
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
string jsonData = JsonConvert.SerializeObject(sendData);
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (HttpRequestException e)
{
Console.WriteLine($"HTTP request error: {e.Message}");
}
catch (Exception e)
{
Console.WriteLine($"Unexpected error: {e.Message}");
}
}
}
}
{
"status": "success",
"title": "User Profile Title",
"token": "ayr_ls_kJ8mQ2vX9pLnR4tYwZ6aBcD1eFgH3iJkLmN0oPqRsTu",
"url": "https://profile.ayrshare.com?session=ayr_ls_kJ8mQ2vX9pLnR4tYwZ6aBcD1eFgH3iJkLmN0oPqRsTu&domain=PROVIDED_DOMAIN",
"emailSent": true,
"expiresIn": "5m"
}
{
"action": "JWT",
"status": "error",
"code": 189,
"message": "Error generating JWT. Check the sent parameters.",
"details": "Missing or incorrect domain."
}
{
"action": "JWT",
"status": "error",
"code": 188,
"message": "Both twitterApiKey and twitterApiSecret are required. You provided only one."
}
{
"action": "JWT",
"status": "error",
"code": 434,
"message": "X/Twitter API credentials were provided in both the request headers and the request body. Please use the headers only. See https://www.ayrshare.com/docs/apis/profiles/generate-jwt"
}