Я надеюсь, что кто-то сможет ответить.Я работал над этим много часов и не могу найти решение.Я также изучал HTTP_OAUTH документацию снова и снова, а также некоторые учебные пособия.Я застрял, используя это, потому что мой хост не поддерживает нормальный OAuth.Это в стороне, это не так плохо.Это то, что я до сих пор.Я могу:
- Получить токен доступа (URL_PATH_GOES_HERE? oauth_token = XXXXXXXXXXXXX )
- Перенаправить пользователя, чтобы получить его разрешение
- Перенаправить обратно на мой URL-адрес обратного вызова с токеном доступа и oauth_verifier (URL_PATH_GOES_HERE? oauth_token = XXXXXXXXXXXXX? Oauth_verifier = XXXXXXXXXX )
Однако, когда я получаюсложность запроса токена доступа, чтобы я мог оттуда делать запросы от имени пользователя.
Я получаю сообщение об ошибке:
Нет токена или token_secret
Есть идеи?Буду вечно благодарен !!
##############################
## FILNENAME: msconfig.php ###
##############################
<?php
define('OAUTH_CONSUMER_KEY',CONSUMER KEY GOES HERE);
define('OAUTH_CONSUMER_SECRET',CONSUMER SECRET GOES HERE);
define('OAUTH_REQUEST_TOKEN_API', 'http://gomiso.com/oauth/request_token');
define('OAUTH_AUTHORIZE_API', 'http://gomiso.com/oauth/authorize');
define('OAUTH_ACCESS_TOKEN_API', 'http://gomiso.com/oauth/access_token');
define('CALLBACK_URL', 'URL_PATH_GOES_HERE/callback.php');
define('MISO_USER_AGENT', 'youruseragent');
?>
###############################
### FILNENAME: index.php ######
###############################
<?php
//##########################################################################
// START A SESSION SO WE CAN SHARE VARIABLES WITH OUR CALLBACK HANDLER #####
//##########################################################################
session_start();
//############################
// IMPORT CONFIGURATION FLE ##
//############################
require_once("misoconfig.php");
//##########################
//#IMPORT EXTERNAL CLASSES #
//##########################
require_once("HTTP/OAuth/Consumer.php");
//########################
//# FETCH REQUEST TOKEN ##
//########################
try {
$consumer = new HTTP_OAuth_Consumer(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET);
$consumer->getRequestToken(OAUTH_REQUEST_TOKEN_API,CALLBACK_URL);
$_SESSION['request_token'] = $consumer->getToken();
}catch (Exception $e) {
echo 'Fetching Request Token Exception: ', $e->getMessage(), "\n";
}
//#############################################
// REDIRECT THE USER TO THE AUTHORIZATION URL #
//#############################################
try {
$url = $consumer->getAuthorizeUrl(OAUTH_AUTHORIZE_API);
header("Location: $url");
}catch (Exception $e) {
echo 'Authorization URL Redirection Exception: ', $e->getMessage(), "\n";
}
?>
##############################
## FILNENAME: callback.php ###
##############################
<?php
// START A SESSION SO WE CAN ACCESS VARIABLES SHARED WITH US BY INDEX.PHP
session_start();
// IMPORT CONFIGURATION FLE
require_once("misoconfig.php");
// IMPORT EXTERNAL CLASSES
require_once("HTTP/OAuth/Consumer.php");
// Store these tokens (at least for now)
$_SESSION['oauth_verifier'] = $_GET['oauth_verifier'];
// BY REACHING THIS FAR, WE'VE BEEN AUTHENTICATED. LET'S GRAB THE ACCESS TOKEN AND SECRET AND SAVE THEM <SOMEWHRE>.
try {
$consumer = new HTTP_OAuth_Consumer($_SESSION['request_token'], $_SESSION['oauth_verifier']);
$consumer->getAccessToken(OAUTH_ACCESS_TOKEN_API,$_SESSION['oauth_verifier'],array(),'GET');
}catch (Exception $e) {
echo 'Access Token Exception: ', $e->getMessage(), "\n";
}
?>