Получение токена авторизации и секрета токена с помощью Twitter API

Я пытаюсь предоставить интерфейс публикации твитеров с моего веб-сайта для пользователей, имеющих аккаунт в твиттере, и публиковать твиты на своей домашней странице. Кроме того, мне нравится давать доступ к веб-камере, чтобы мультиплицировать их лицо и помещать это изображение с сообщением. (моя главная цель — создание мультипликационных сообщений)

Сначала я использую PHP-библиотеку Codebird, чтобы сделать твит. https://github.com/jublonet/codebird-php

Я проверил свой первый пост, как тот же пример Codebird, приведенный на их странице GitHub.

require_once ('codebird.php');
\Codebird\Codebird::setConsumerKey('YOURKEY', 'YOURSECRET'); // static, see README

$cb = \Codebird\Codebird::getInstance();
/*You may either set the OAuth token and secret, if you already have them:*/

$cb->setToken('YOURTOKEN', 'YOURTOKENSECRET');

Эта часть прекрасно работает.

Но это только для разработчика приложений. потому что YOURTOKEN и YOURTOKEN СЕКРЕТ в https://apps.twitter.com/app/ стр.

Поэтому я пытаюсь запустить этот код, как показано в примере Codebird.

<?php
require_once('./src/codebird.php');
\Codebird\Codebird::setConsumerKey('REPLACE_WITH_MY_CONSUMER_KEY');
$cb = \Codebird\Codebird::getInstance();
/*$cb->setToken('REPLACE_WITH_MY_CONSUMER_TOKEN');
session_start();

if (!empty($_SESSION['oauth_token'])) {
echo 'ttt';
var_dump($_SESSION['oauth_token']);
// get the request token
$reply = $cb->oauth_requestToken([
'oauth_callback' => 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
]);

// store the token
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
$_SESSION['oauth_token'] = $reply->oauth_token;
$_SESSION['oauth_token_secret'] = $reply->oauth_token_secret;
$_SESSION['oauth_verify'] = true;

// redirect to auth website
$auth_url = $cb->oauth_authorize();
header('Location: ' . $auth_url);
die();

} elseif (isset($_GET['oauth_verifier']) && isset($_SESSION['oauth_verify'])) {
// verify the token
$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
unset($_SESSION['oauth_verify']);

// get the access token
$reply = $cb->oauth_accessToken([
'oauth_verifier' => $_GET['oauth_verifier']
]);

// store the token (which is different from the request token!)
$_SESSION['oauth_token'] = $reply->oauth_token;
$_SESSION['oauth_token_secret'] = $reply->oauth_token_secret;

// send to same URL, without oauth GET parameters
header('Location: ' . basename(__FILE__));
die();
}

// assign access token on each page load
$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
$reply = $cb->statuses_update('status=Whohoo, I just Tweeted!');
?>

Но это дает эту ошибку.

Неустранимая ошибка: Uncaught Codebird \ CodebirdCredentialsException: для вызова
этот API, токен доступа OAuth должен быть установлен.

Любой ключ к этому? или же;

Есть ли что-нибудь лёгкое, как Facebook, способ справиться с этим очень легко. Он перенаправляет на страницу входа в Facebook и после входа в систему может публиковать сообщения любого пользователя с моего сайта. Поэтому есть какой-нибудь способ сделать что-то для твиттера, например, вызвать собственное окно входа в систему и получить токен и секрет из сеанса входа в систему и опубликовать твит-сообщение с моего сайта?

0

Решение

Я только что добавил URL обратного вызова со страницы моего приложения (https://apps.twitter.com/app) и теперь это отлично работает. Он будет автоматически перенаправлен на страницу входа (как показано ниже), если пользователь не вошел в систему или попросит разрешения подтвердить получение токена и секретного ключа.

Обратный вызов URL с вкладки настроек:

введите описание изображения здесь

Перенаправление пользователя работает нормально, если пользователь не вошел в систему:

введите описание изображения здесь

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector