PHP

Отправка сообщения с изображением в Twitter через PHP

1. Понадобится скачать класс «twitter-api-php» для работы с API Тветтера - https://github.com/J7mbo/twitter-api-php

2. Регистрируемся в твиттере если еще нет аккаунта.

3. Для отправки твитов через API нужно четыре ключа:

  • access_token,
  • access_token_secret,
  • consumer_key,
  • consumer_secret.

Чтобы их получить нужно создать приложение.

3.1. Создаем приложение на странице https://apps.twitter.com/app/new

3.2. Переходим на вкладку «Keys and Access Tokens», там указаны consumer_key, consumer_secret.

3.3. Жмем «Create my access token», появятся access_token, access_token_secret.

4. Далее PHP скрипт:

<?php
// Подключаем класс.
require_once __DIR__ . '/twitter-api-php/TwitterAPIExchange.php';

$tw = new TwitterAPIExchange(array(
    'oauth_access_token'        => "xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    'oauth_access_token_secret' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    'consumer_key'              => "xxxxxxxxxxxxxxxxxxxxxxxxx",
    'consumer_secret'           => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
));

// Отправляем изображение в Twitter и получаем его ID. 
$param = array(
    'media_data' => base64_encode(file_get_contents(__DIR__ . '/image.jpg'))
);

$res = $tw
    ->buildOauth('https://upload.twitter.com/1.1/media/upload.json', 'POST')
    ->setPostfields($param)
    ->performRequest();

$img = json_decode($res);

// Отправляем твит.
$param = array(
    'status'    => 'Hello, world!',
    'media_ids' => $img->media_id_string
);

$res = $tw
    ->buildOauth('https://api.twitter.com/1.1/statuses/update.json', 'POST')
    ->setPostfields($param)
    ->performRequest();

Ограничения:

  • 150 запросов к API в час.
  • Сообщение ограничено 140 символами. К сообщению можно дописать URL , в этот лимит он не войдет.
12 ноября 2016