مقالات

ادغام موضوع API: مجوز، انتشار و تجزیه و تحلیل با Ayrshare


Threads به سرعت به یک پلتفرم اجتماعی قدرتمند تبدیل شد و از زیرساخت متا برای ارائه جایگزینی متن محور برای X (توئیتر سابق) استفاده کرد. Threads با ادغام یکپارچه خود با اینستاگرام و تعداد کاربران رو به رشد، فرصت‌های منحصر به فردی را برای کسب‌وکارها و توسعه‌دهندگان فراهم می‌کند تا به مخاطبان درگیر دست یابند. در چند ماه گذشته، شاهد رشد سریع استفاده از Threads در بین کاربرانمان بوده‌ایم – در حالی که با فیس‌بوک، اینستاگرام یا یوتیوب برابری نمی‌کند، اما به استفاده از X نزدیک می‌شود.

Ayrshare با Threads API متا ادغام می‌شود تا قابلیت‌های انتشار و تجزیه و تحلیل یکپارچه را از طریق API رسانه اجتماعی ما ارائه دهد، و مدیریت برنامه‌نویسی حضور Threads خود را در کنار سایر پلت‌فرم‌های اجتماعی آسان می‌کند.

این مقاله وبلاگ دو رویکرد را پوشش می‌دهد: ادغام مستقیم با Threads API و ادغام ساده و قدرتمندتر با استفاده از API اجتماعی Ayrshare.

بیایید بررسی کنیم که چگونه می توانید از Threads برای استراتژی رسانه های اجتماعی خود، از پیوند حساب تا انتشار محتوا و ردیابی عملکرد، استفاده کنید.

شروع به کار با Threads API

Threads API قابلیت‌های قوی برای کسب‌وکارها فراهم می‌کند تا به صورت برنامه‌نویسی نمایه‌های Threads خود را مدیریت کنند، محتوا را منتشر کنند و معیارهای عملکرد را ردیابی کنند. این برنامه که در بالای زیرساخت Meta’s Graph API ساخته شده است، الگوهای آشنا را برای توسعه دهندگانی که قبلاً با APIهای فیس بوک یا اینستاگرام کار می کنند ارائه می دهد.

توجه: برای ادغام مستقیم با Threads API، ابتدا باید توسط متا تأیید شوید.

تنظیم احراز هویت

Threads API از احراز هویت OAuth 2.0 از طریق جریان مجوز اینستاگرام استفاده می کند. این همان سیستم احراز هویت است که برای API اینستاگرام استفاده می شود.

ابتدا یک URL مجوز اینستاگرام با مجوزهای موضوع مناسب ایجاد کنید:

https://api.instagram.com/oauth/authorize
  ?client_id={app-id}
  &redirect_uri={redirect-uri}
  &scope=threads_basic,threads_content_publish
  &response_type=code

پس از اینکه کاربر مجاز شد، کد رمز دسترسی را تغییر دهید:

const exchangeCodeForToken = async (code, clientId, clientSecret, redirectUri) => {
  const url = 'https://api.instagram.com/oauth/access_token';
  
  const formData = new URLSearchParams();
  formData.append('client_id', clientId);
  formData.append('client_secret', clientSecret);
  formData.append('grant_type', 'authorization_code');
  formData.append('redirect_uri', redirectUri);
  formData.append('code', code);
  
  const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    body: formData
  });
  
  const data = await response.json();
  
  // Exchange short-lived token for long-lived token
  const longLivedToken = await getLongLivedToken(data.access_token);
  
  return longLivedToken;
};

const getLongLivedToken = async (shortLivedToken) => {
  const url = `https://graph.instagram.com/access_token`;
  const params = new URLSearchParams({
    grant_type: 'ig_exchange_token',
    client_secret: CLIENT_SECRET,
    access_token: shortLivedToken
  });
  
  const response = await fetch(`${url}?${params}`);
  return await response.json();
};

یک پست منتشر کنید

انتشار در Threads یک فرآیند دو مرحله ای است: یک محفظه رسانه ایجاد کنید، سپس آن را منتشر کنید. در اینجا نحوه ارسال انواع مختلف محتوا آورده شده است:

یک پست فقط متنی

const publishThreadsTextPost = async (userId, text, accessToken) => {
  // Step 1: Create media container
  const createUrl = `https://graph.threads.net/${userId}/threads`;
  
  const createResponse = await fetch(createUrl, {
    method: 'POST',
    body: JSON.stringify({
      media_type: 'TEXT',
      text: text,
      access_token: accessToken
    })
  });
  
  const container = await createResponse.json();
  
  // Step 2: Publish the container
  const publishUrl = `https://graph.threads.net/${userId}/threads_publish`;
  
  const publishResponse = await fetch(publishUrl, {
    method: 'POST',
    body: JSON.stringify({
      creation_id: container.id,
      access_token: accessToken
    })
  });
  
  const result = await publishResponse.json();
  
  return {
    status: 'success',
    threadId: result.id,
    postUrl: `https://www.threads.net/@${username}/post/${result.id}`
  };
};

ارسال تصویر با متن

Threads یک URL رسانه تصویر شما را می پذیرد. شما فقط آن را برای پست به بدنه اضافه کردید.

const publishThreadsImagePost = async (userId, imageUrl, text, accessToken) => {
  // Step 1: Create media container
  const createUrl = `https://graph.threads.net/${userId}/threads`;
  
  const createResponse = await fetch(createUrl, {
    method: 'POST',
    body: JSON.stringify({
      media_type: 'IMAGE',
      image_url: imageUrl,
      text: text,
      access_token: accessToken
    })
  });
  
  const container = await createResponse.json();
  
  // Wait for processing (recommended 30 seconds)
  await new Promise(resolve => setTimeout(resolve, 30000));
  
  // Step 2: Publish the container
  const publishUrl = `https://graph.threads.net/${userId}/threads_publish`;
  
  const publishResponse = await fetch(publishUrl, {
    method: 'POST',
    body: JSON.stringify({
      creation_id: container.id,
      access_token: accessToken
    })
  });
  
  return await publishResponse.json();
};

پست های چرخ فلک ایجاد کنید

Threads از پست های چرخ و فلک با حداکثر 20 تصویر، ویدیو یا ترکیبی از هر دو پشتیبانی می کند. این یک فرآیند سه مرحله ای است:

const publishThreadsCarousel = async (userId, mediaItems, text, accessToken) => {
  // Step 1: Create individual media containers
  const itemContainers = [];
  
  for (const item of mediaItems) {
    const createUrl = `https://graph.threads.net/${userId}/threads`;
    
    const payload = {
      is_carousel_item: true,
      media_type: item.type, // 'IMAGE' or 'VIDEO'
      access_token: accessToken
    };
    
    if (item.type === 'IMAGE') {
      payload.image_url = item.url;
    } else {
      payload.video_url = item.url;
    }
    
    const response = await fetch(createUrl, {
      method: 'POST',
      body: JSON.stringify(payload)
    });
    
    const container = await response.json();
    itemContainers.push(container.id);
  }
  
  // Step 2: Create carousel container
  const carouselUrl = `https://graph.threads.net/${userId}/threads`;
  
  const carouselResponse = await fetch(carouselUrl, {
    method: 'POST',
    body: JSON.stringify({
      media_type: 'CAROUSEL',
      children: itemContainers.join(','),
      text: text,
      access_token: accessToken
    })
  });
  
  const carouselContainer = await carouselResponse.json();
  
  // Step 3: Publish carousel
  const publishUrl = `https://graph.threads.net/${userId}/threads_publish`;
  
  const publishResponse = await fetch(publishUrl, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${accessToken}`
    },
    body: JSON.stringify({
      creation_id: carouselContainer.id
    })
  });
  
  return await publishResponse.json();
};

بازیابی اطلاعات در مورد پست ها

در حالی که API موضوعات هنوز در حال تکامل است، می توانید معیارهای اساسی در مورد پست های خود دریافت کنید:

const getThreadsInsights = async (mediaId, accessToken) => {
  const fields = 'id,media_type,media_url,permalink,owner,username,text,timestamp,shortcode,thumbnail_url,children,is_quote_post';
  const url = `https://graph.threads.net/${mediaId}?fields=${fields}&access_token=${accessToken}`;
  
  const response = await fetch(url, {
    method: 'GET'
  });
  
  const data = await response.json();
  
  // Get insights metrics
  const insightsUrl = `https://graph.threads.net/${mediaId}/insights`;
  const metricsParams = new URLSearchParams({
    metric: 'views,likes,replies,reposts,quotes',
    access_token: accessToken
  });
  
  const insightsResponse = await fetch(`${insightsUrl}?${metricsParams}`);
  const insights = await insightsResponse.json();
  
  return {
    post: data,
    insights: insights.data
  };
};

ملاحظات اساسی

  • محدودیت سرعت: نمایه های موضوع محدود به 250 پست است که از طریق API در یک بازه زمانی 24 ساعته بازگردانده می شود.
  • پردازش رسانه: پس از ایجاد کانتینرهای رسانه قبل از انتشار تقریباً 30 ثانیه صبر کنید.
  • نیاز به سرور عمومی: همه نشانی‌های اینترنتی رسانه‌ها باید به صورت عمومی در دسترس باشند تا Threadها بتوانند آنها را پردازش کنند.

ادغام رشته Ayrshare چیست؟

ادغام Ayrshare’s Threads API پیچیدگی کار با Threads API را ساده می کند و در عین حال ویژگی های اضافی و مدیریت یکپارچه را در چندین پلت فرم اجتماعی ارائه می دهد.

با Ayrshare می توانید:

  • اتصال حساب‌های Threads بدون مدیریت جریان‌های OAuth
  • پست هایی را با متن، تصویر، فیلم و چرخ فلک منتشر کنید
  • آپلود و پردازش رسانه را به صورت خودکار مدیریت کنید
  • تجزیه و تحلیل جامع برای محتوای خود دریافت کنید
  • چندین حساب Threads را از طریق کلیدهای نمایه مدیریت کنید
  • پست ها را برای زمان بندی بهینه برنامه ریزی کنید

چگونه موضوعات را به Ayrshare پیوند دهیم

قبل از اینکه بتوانید از طریق Ayrshare به Threads پست کنید، باید حساب Threads خود را به Ayrshare پیوند دهید. این فرآیند ساده است و به حداقل تنظیمات نیاز دارد.

پیش نیاز: تنظیم نمایه تم

مطمئن شوید که یک نمایه Threads آماده دارید:

  1. برنامه Threads را دانلود کنید
  2. با حساب اینستاگرام خود وارد شوید
  3. راه اندازی نمایه خود را تمام کنید
  4. توجه: دسته Threads شما با دسته اینستاگرام شما مطابقت دارد

پیوند دادن حساب شما

می‌توانید Threads را از طریق داشبورد Ayrshare متصل کنید یا به کاربران خود اجازه دهید حساب‌های خود را از طریق صفحه Business Plan Social Connect به هم متصل کنند.

از طریق داشبورد:

  1. به صفحه حساب‌های اجتماعی در داشبورد Ayrshare بروید
  2. روی نماد Threads کلیک کنید
  3. وقتی از شما خواسته شد وارد اینستاگرام شوید
  4. مجوزهای درخواستی را بررسی و تأیید کنید
  5. حساب Threads شما اکنون پیوند داده شده است!

نحوه ارسال در موضوعات با Ayrshare

اکنون بیایید نحوه ارسال انواع محتوای مختلف به Threads را با استفاده از Ayrshare API بررسی کنیم.

یک پست برای موضوعات اصلی منتشر کنید

در اینجا نحوه ارسال یک پست متنی ساده با یک تصویر اختیاری آمده است:

مثال در cURL:

curl \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "post": "Just launched our new product! Check it out 🚀 #ProductLaunch",
    "platforms": ["threads"],
    "mediaUrls": ["https://example.com/product-image.jpg"]
  }' \
  -X POST https://api.ayrshare.com/api/post

مثال در جاوا اسکریپت:

const postToThreads = async () => {
  try {
    const response = await fetch("https://api.ayrshare.com/api/post", {
      method: "POST",
      body: JSON.stringify({
        post: "Exciting news! Our team just hit a major milestone 🎉",
        platforms: ["threads"],
        mediaUrls: ["https://example.com/celebration.jpg"],
        access_token: accessToken
      })
    });
    
    const data = await response.json();
    console.log("Threads post created:", data);
    return data;
  } catch (error) {
    console.error("Failed to post to Threads:", error);
  }
};

پاسخ شامل:

{
  "status": "success",
  "id": "625e1e5c8b5d4a001e3b3c5f",
  "postIds": {
    "threads": {
      "id": "17890643139123701",
      "status": "success"
    }
  },
  "post": "Exciting news! Our team just hit a major milestone 🎉",
  "platforms": ["threads"]
}

محتوای ویدیویی را منتشر کنید

Threads از پست های ویدئویی با شرایط خاص پشتیبانی می کند:

مثال در پایتون:

import requests

API_KEY = "YOUR_API_KEY"
url = "https://api.ayrshare.com/api/post"

payload = {
    "post": "Behind the scenes of our latest project 🎬",
    "platforms": ["threads"],
    "mediaUrls": ["https://example.com/behind-scenes.mp4"]
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

پست های چرخ فلک ایجاد کنید

چندین تصویر یا ویدیو را به عنوان چرخ فلک ارسال کنید (حداکثر 20 مورد):

مثال در Node.js:

const axios = require('axios');

const postCarouselToThreads = async () => {
  const API_KEY = "YOUR_API_KEY";
  
  try {
    const response = await axios.post('https://api.ayrshare.com/api/post', {
      post: 'Check out our product lineup! Swipe to see all variants →',
      platforms: ['threads'],
      mediaUrls: [
        'https://example.com/product1.jpg',
        'https://example.com/product2.jpg',
        'https://example.com/product3.jpg',
        'https://example.com/demo-video.mp4'
      ]
    }, {
      headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Content-Type': 'application/json'
      }
    });
    
    console.log('Carousel posted:', response.data);
    return response.data;
  } catch (error) {
    console.error('Carousel post failed:', error);
  }
};

کار با منشن ها و هشتگ ها

Threads قوانین خاصی برای منشن ها و هشتگ ها دارد:

{
  post: "Great collaboration with @partner on this project! #Innovation",
  platforms: ["threads"],
  mediaUrls: ["https://example.com/collaboration.jpg"]
}

نکات مهم:

  • فقط یک هشتگ در هر پست پشتیبانی می شود
  • @mention ها کاربر مذکور را مطلع خواهد کرد
  • حداکثر 500 کاراکتر متنی در هر پست
  • اولین URL در پست‌های متنی به پیش‌نمایش پیوند تبدیل می‌شود (مگر اینکه رسانه گنجانده شود)

الزامات رسانه و بهترین شیوه ها

هنگام آپلود محتوا در Threads، این مشخصات را دنبال کنید:

دستورالعمل های تصویری

  • فرمت ها: JPEG، PNG، GIF، WEBP
  • حداکثر اندازه فایل: 8 مگابایت
  • اندازه های پیشنهادی: 1080 x 1080 px (1:1) یا 1080 x 1350 px (4:5)
  • نسبت ها: بین 4:5 و 1.91:1

راهنمای تصویری

  • قالب: MP4
  • حداکثر اندازه فایل: 500 مگابایت
  • مدت زمان: 3 ثانیه تا 5 دقیقه
  • اندازه های پیشنهادی: 1080 x 1920 px (9:16) برای بهترین نمایش موبایل
  • نرخ فریم: 30 فریم در ثانیه توصیه می شود

دستورالعمل چرخ فلک

  • مجموع موارد: 2-20 تصویر/فیلم
  • اختلاط مجاز: بله، تصاویر و ویدیوها را ترکیب کنید
  • محدودیت برای اقلام فردی: همانند پست های تک تصویر/ویدیویی

نحوه دریافت Threads Analytics

درک عملکرد محتوای شما برای بهینه سازی استراتژی threading شما بسیار مهم است. Ayrshare تجزیه و تحلیلی در مورد پست های Threads شما ارائه می دهد.

استخراج تجزیه و تحلیل پست

برای دریافت تجزیه و تحلیل برای یک پست Threads خاص:

const API_KEY = "YOUR_API_KEY";

const getThreadsAnalytics = async (postId) => {
  try {
    const response = await fetch("https://api.ayrshare.com/api/analytics/post", {
      method: "POST",
      headers: {
        "Authorization": `Bearer ${API_KEY}`,
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        id: postId,
        platforms: ["threads"]
      })
    });
    
    const analytics = await response.json();
    console.log("Threads analytics:", analytics);
    return analytics;
  } catch (error) {
    console.error("Failed to get analytics:", error);
  }
};

// Usage
getThreadsAnalytics("625e1e5c8b5d4a001e3b3c5f");

پاسخ تحلیل معیارهای کلیدی را ارائه می دهد:

{
  "threads": {
    "id": "17890643139123701",
    "postUrl": "https://www.threads.com/@ayrshare/post/DI4nmXrNQA1",
    "analytics": {
      "views": 2341,
      "likes": 128,
      "replies": 23,
      "reposts": 15,
      "shares": 8,
      "quotes": 5
    },
    "lastUpdated": "2025-01-15T22:41:05.752Z",
    "nextUpdate": "2025-01-15T22:52:05.752Z"
  }
}

این معیارها به شما کمک می کند تا بفهمید:

  • بررسی ها: کل بازدیدهای پست شما
  • دوست دارد: نامزدی از طریق لایک
  • پاسخ ها: مکالمه ایجاد شده توسط پست شما
  • بازنشر: کاربران چقدر محتوای شما را با فالوورهای خود به اشتراک می گذارند
  • سهام: پست خود را مستقیماً به اشتراک بگذارید
  • نقل قول ها: کاربران Times از پست شما با نظر خود استناد کردند

مدیریت حساب چند رشته ای

برای آژانس ها یا مشاغلی که چندین حساب Threads را مدیریت می کنند، طرح تجاری Ayrshare کلیدهای حساب را برای هر کاربر ارائه می دهد:

const postToClientThreads = async (profileKey, content) => {
  const response = await fetch("https://api.ayrshare.com/api/post", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Profile-Key": profileKey,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      post: content.text,
      platforms: ["threads"],
      mediaUrls: content.mediaUrls
    })
  });
  
  return await response.json();
};

// Post to different client accounts
await postToClientThreads("client1_profile_key", {
  text: "Client 1's product announcement! 📢",
  mediaUrls: ["https://example.com/client1-product.jpg"]
});

await postToClientThreads("client2_profile_key", {
  text: "Client 2's weekly update thread 🧵",
  mediaUrls: ["https://example.com/client2-update.mp4"]
});

بهترین روش ها برای موفقیت نخ

بهینه سازی محتوا

  • مکالمه را حفظ کنید: موضوعات محتوای معتبر و بحث محور را ترجیح می دهند
  • استفاده از تصاویر بصری: پست های دارای تصویر یا ویدیو تمایل بیشتری به جذب مخاطب دارند
  • یک قانون هشتگ: با انتخاب مناسب ترین هشتگ، تعداد تک هشتگ خود را افزایش دهید
  • طول بهینه: در حالی که شما 500 کاراکتر دارید، پست های بین 100 تا 200 کاراکتر اغلب بهترین عملکرد را دارند

استراتژی انتشار

  • زمان مهم است: زمانی که مخاطبان شما بیشتر فعال هستند پست کنید (معمولاً عصرها و آخر هفته ها)
  • سازگاری: پست کردن به طور منظم به حفظ دید در فیدهای دنبال کنندگان کمک می کند
  • سریع درگیر شوید: برای رسیدن به حداکثر دسترسی، در یک ساعت اول به پاسخ‌ها پاسخ دهید
  • تبلیغات متقابل: کنترل کننده Threads خود را در سایر سیستم عامل ها به اشتراک بگذارید

بهترین شیوه های فنی

  • آماده سازی رسانه: قبل از آپلود مطمئن شوید که همه رسانه ها بهینه شده اند
  • رسیدگی به خطا: منطق امتحان مجدد را برای پست های ناموفق پیاده سازی کنید
  • آگاهی از محدودیت سرعت: تعداد پست های خود را در 24 ساعت پیگیری کنید تا از رسیدن به محدودیت ها جلوگیری کنید
  • ادغام وب هوک: از وب هوک های Ayrshare برای ردیابی وضعیت پست استفاده کنید

بهینه سازی مبتنی بر تجزیه و تحلیل

  • نظارت بر نسبت دید به تعامل: تعیین کنید که چه محتوایی طنین انداز می شود
  • ردیابی حال و هوای پاسخ: واکنش تماشاگران را دریابید
  • تجزیه و تحلیل الگوهای ارسال مجدد: ببینید چه محتوایی بیشتر به اشتراک گذاشته می شود
  • مقایسه انواع رسانه ها: تست عملکرد متن در مقابل تصویر در مقابل ویدئو

Ayrshare حتی بیشتر ارائه می دهد

Threads API امکانات قدرتمندی را برای مدیریت برنامه‌ای رسانه‌های اجتماعی باز می‌کند، چه در حال ایجاد ادغام‌های سفارشی یا استفاده از رویکرد ساده‌شده Ayrshare باشید. Threads با پایگاه کاربر رو به رشد و موقعیت منحصر به فرد خود در چشم انداز رسانه های اجتماعی، کانال مهمی برای دستیابی به مخاطبان درگیر است.

ادغام Ayrshare، گنجاندن Threads را در جریان کاری رسانه های اجتماعی شما آسان می کند و مدیریت یکپارچه را در کنار 12+ پلتفرم دیگر از جمله اینستاگرام، فیس بوک، TikTok و LinkedIn ارائه می دهد.

منابع اضافی

  • مستندات رسمی threads API
  • Ayrshare Threads API Documentation
  • Threads Media Guidelines
  • Ayrshare Analytics API
  • مرجع API متا گراف

آیا برای ادغام Threads در استراتژی رسانه های اجتماعی خود آماده هستید؟ همین امروز با Ayrshare شروع کنید و مدیریت رسانه های اجتماعی خود را در تمام پلتفرم های اصلی ساده کنید.

The post Threads API Integration: Authorization, Posting, & Analytics with Ayrshare اولین بار در Ayrshare پدیدار شد.




Source link

نوشته های مشابه

دیدگاهتان را بنویسید

همچنین ببینید
بستن
دکمه بازگشت به بالا