チュートリアル

他のユーザーのツイートのプロモーション

はじめに

広告主は、他のユーザーのコンテンツをプロモーションする権限を取得すると、そのツイートをプロモーションできます。プロモーションしたいツイートのツイートIDを直接参照することで、プロモツイートエンドポイントにリクエストを行うことができます。

このチュートリアルでは、RETWEET_ONLYのプロモーション可能なユーザーを識別する方法、使用する認証情報に対してプロモツイート作成権限を確認する方法、オプションAでプロモートツイートをすぐに作成する方法、またはオプションBでプロモツイートを後で実行するためにスケジュールする方法について説明します。

要件

  • RETWEET_ONLYのプロモーション可能なユーザーを持つTwitter広告アカウント 
  • 投稿済みツイートと予約投稿ツイートを含むTwitter RETWEET_ONLYのプロモーション可能なユーザーへのアクセス権。 
  • 広告マネージャーまたはアカウント管理者のいずれかの役割を持ち、プロモーション専用ツイートを作成する機能を持つTwitter広告アカウントユーザーのアクセストークン。 
  • エンゲージメントなどのツイートをプロモーションするためのキャンペーンと行項目が設定されているTwitter広告アカウント。

手順

1.プロモーション可能なユーザーのリストを取得する

GET accounts/:account_id/promotable_usersエンドポイントを呼び出すと、広告アカウントでツイートをプロモーションできるユーザーのリストが返されます。プロモーション可能なユーザーのタイプには、FULLまたはRETWEETS_ONLYがあります。FULLのプロモーション可能なユーザーは、広告アカウントの所有者です(広告アカウントは1人のユーザーしか所有できません)。 広告アカウントに別のユーザーのツイートをプロモーションするためのアクセス権が付与されている場合、プロモーション可能なユーザーのタイプはRETWEETS_ONLYになります。

twurl -H ads-api.x.com "/5/accounts/abc123/promotable_users"

      {
  "request": {
  "params": {
      "account_id": "abc123"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "user_id": "12345",
      "id": "l310s",
      "created_at": "2016-07-21T22:42:09Z",
      "updated_at": "2016-07-21T22:42:09Z",
      "deleted": false,
      "promotable_user_type": "FULL"
    },
    {
      "user_id": "56789",
      "id": "ozor5",
      "created_at": "2017-03-10T17:51:24Z",
      "updated_at": "2019-07-02T08:06:44Z",
      "deleted": false,
      "promotable_user_type": "RETWEETS_ONLY"
    }
  ]
}
    

2.認証情報にプロモツイートを作成する権限があることを確認する(任意)

別のユーザーの代理でツイートを作成するには、認証済みユーザーがTWEET_COMPOSER権限を保持している必要があります。これにより、ヌルキャスト(または「プロモーション専用」)ツイートのみを作成できます。認証済みユーザーがこの権限を持っていることを確認するには、GET accounts/:account_id/authenticated_user_accessエンドポイントを使用します。

 

オプションA. 既存のツイートのプロモーション

3.ユーザーの公開ツイートを取得する

GET statuses/user_timelineを使用してプロモーション可能なユーザーのツイートを見つけます。

$ twurl -H api.x.com "/1.1/statuses/user_timeline.json?user_id=2417045708"

      [
  {
    "created_at": "Sat Jul 27 18:20:40 +0000 2019",
    "id": 1143347463765426177,
    "id_str": "1143347463765426177",
    "text": "One year ago",
    ...
   }
]
    

4.プロモツイートを作成する

プロモツイートエンドポイントを呼び出し、プロモーション可能なユーザーから投稿済みツイートのツイートIDと、そのツイートと関連付ける行項目IDを含めます。

$ twurl -X POST -H ads-api.x.com "/5/accounts/18ce54d4x5t/promoted_tweets?line_item_id=6c62d&tweet_ids=1143347463765426177"

      {
   "request": {
     "params": {
       "tweet_ids": [
         1143347463765426177
       ],
       "line_item_id": "6c62d",
       "account_id": "18ce54d4x5t"
     }
   },
   "data": [
     {
       "line_item_id": "6c62d",
       "id": "3jzjq6",
       "entity_status": "ACTIVE",
       "created_at": "2019-07-11T21:29:48Z",
       "updated_at": "2019-07-11T21:29:48Z",
       "approval_status": "ACCEPTED",
       "tweet_id": "1149430614224855040",
       "deleted": false
     }
   ],
   "total_count": 1
 }
    

これで、このツイートはキャンペーンがアクティブになるとプロモーションされます。

 

オプションB. プロモツイートを後で実行するためにスケジュールする

3.予約投稿ツイート(未公開ツイート)を取得する

RETWEET_ONLYのユーザーの広告アカウントの予約投稿ツイートが必要になります。次のリクエストは、18ce54aymz3の予約投稿ツイートへのアクセスを示しています。

twurl -H ads-api.x.com "/5/accounts/18ce54aymz3/scheduled_tweets/1149433959404539904"

      {
 "request": {
     "params": {
      "scheduled_tweet_id": 1149433959404539904
    }
  },
  "data": {
    "completed_at": null,
    "id_str": "1149433959404539904",
    "text": "18ce54d4x5t will promote this in the future",
    "user_id": "2417045708",
    "scheduled_status": "SCHEDULED",
    "id": 1149433959404539904,
    "media_ids": [],
    "nullcast": true,
    "created_at": "2019-07-11T21:43:06Z",
    "scheduled_at": "2019-11-01T00:00:00Z",
    "card_uri": null,
    "updated_at": "2019-07-11T21:43:05Z",
    "tweet_id": null,
    "media_keys": []
  }
}
    

4.予約投稿プロモツイートを作成する

RETWEET_ONLY広告アカウントの予約投稿ツイートid_strを使用して、広告アカウント18ce54d4x5t予約投稿プロモツイートを作成します。

twurl -X POST -H ads-api.x.com "/5/accounts/18ce54d4x5t/scheduled_promoted_tweets?line_item_id=6c62d&scheduled_tweet_id=1149433959404539904"

      {
  "data": {  "line_item_id": "6c62d",
    "id": "300dd",
    "created_at": "2019-07-11T21:43:51Z",
    "updated_at": "2019-07-11T21:43:51Z",
    "scheduled_tweet_id": "1149433959404539904",
    "tweet_id": null,
    "deleted": false
  },
  "request": {
    "params": {
      "line_item_id": "6c62d",
      "scheduled_tweet_id": 1149433959404539904,
      "account_id": "18ce54d4x5t"
    }
  }
}
    

この予約投稿プロモツイートは、予約投稿ツイートのcheduled_atの日付に配信されます。 

ソリューション作成の準備が整った方は

開発者アクセスに申し込んで利用を開始しましょう