Twitter oauth: получение неопределенного индекса: oauth_token_secret в

Привет я пытаюсь опубликовать твиты с помощью oauth (PHP)

я создал приложение в своем твиттере,

я выполнил какой-то скрипт с открытым исходным кодом, но он выдает ошибку

Notice: Undefined index: oauth_token_secret in

Как исправить эту проблему

мой фрагмент

require_once('twitterOAuth/twitterOAuth.php');
require_once('twitterOAuth/OAuth.php');


$consumer_key='q3fsdfsdfsdw';
$consumer_secret='rfsdfsdfsdfsdfdsfsdL';
$request_token='http://twitter.com/oauth/request_token';
$request_token_secret='5454545';
$oauth = new TwitterOAuth($consumer_key, $consumer_secret,
$request_token, $request_token_secret);

// Ask Twitter for an access token (and an access token secret)
$request = $oauth->getAccessToken();

$access_token = $request['amp;oauth_token'];
$access_token_secret = $request['oauth_token_secret'];=======> HERE AM GETTING TROUBLE

function getAccessToken($token = NULL, $pin = NULL)
{
    if ($pin)
        $r = $this->oAuthRequest($this->accessTokenURL(),
            array("oauth_verifier" => $pin));
    else
        $r = $this->oAuthRequest($this->accessTokenURL());

    $token = $this->oAuthParseResponse($r);
    $this->token = new OAuthConsumer($token['oauth_token'],
        $token['oauth_token_secret']);

    return $token;
}

Моя полная ошибка здесь

Notice: Undefined index: oauth_token_secret in E:\wamp\www\source\oauth\twitterOAuth\twitteroauth.php on line 118

Notice: Undefined index: oauth_token_secret in E:\wamp\www\source\oauth\bharani.php on line 18
 abraham04 дек. 2010 г., 20:25
Запрашиваемые токены / секреты - это токены одноразового использования, поэтому они не должны быть жестко запрограммированы в вашем коде.
 abraham01 окт. 2010 г., 01:32
Вам не нужноrequire_once('twitterOAuth/OAuth.php'); как это требуется в twitteroauth.php уже. Являетсяtwitter.com/oauth/request_token ваше фактическое значение для $ request_token?
 Bharanikumar05 окт. 2010 г., 06:57
я только что прокомментировал строку <code> require_once ('twitterOAuth / OAuth.php'); </ code>, все еще получаю ту же ошибку, что мне делать дальше

Ответы на вопрос(8)

У меня была такая же ошибка:

Примечание: неопределенный индекс: oauth_token в /web/htdocs/www.xxx.com/home/private/libraries> /twitteroauth/twitteroauth.php в строке 118

Примечание: неопределенный индекс: oauth_token_secret в /web/htdocs/www.xxx.com/home/private/libraries/twitteroauth/twitteroauth.php в строке 118

Отладка на линии, что указала ошибка:

function getAccessToken($oauth_verifier = FALSE) {
     // .... code .... //

     $token = OAuthUtil::parse_parameters($request);
     $this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
     exit(print_r($token));

     // ... code ....//
}

Я нашел это:

Array (["1.0" encoding = "UTF-8"?> Обязательный параметр oauth_verifier не указан / oauth / access_token .......

После того, как я прочитал какую-то проблему в Интернете и нашел решение. В моем коде я должен передать oauth_verifier:

 $request = $oauth->getAccessToken($_GET['oauth_verifier']);

Надеюсь, я помогу кому-то, проблема была в том, что для соответствия OAuth 1.0a требуется oauth_verifier!

Ресурс:https://dev.twitter.com/discussions/16443#comment-36618

Извиняюсь за плохой английский.

 snowflake26 сент. 2013 г., 17:17
Работает отлично! большое спасибо.
 Artur Mamedov19 окт. 2013 г., 16:41
Теперь щебетать перейти на новую версию API v.1.1 Обзор:dev.twitter.com/docs/api/1.1/overview , ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ:dev.twitter.com/docs/faq#rest-api-v11

Проблема в том, что в запросе произошла ошибка, поэтому вы не получите oauth_token_secret в ответе из Twitter. Проверьте простое, но сложное решение здесь ..http://errorbank.blogspot.com/2012/07/php-twitter-undefined-index.html

 Stanley21 июл. 2012 г., 07:50
дайте мне знать, если вы хотите получить дополнительные разъяснения
 cale_b10 окт. 2012 г., 21:28
Что это: просто? или сложнее?

Это просто уведомление.

Вы не определили индекс этого массива или что-то еще. Вставьте свою полную ошибку и строки, где php пишет это уведомление.

Другой способ: вы можете отключить с помощью этого кода:

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

http://www.php.net/manual/en/function.error-reporting.php

 Bharanikumar30 сент. 2010 г., 13:14
PLZ обновление решения
 Roland Soós30 сент. 2010 г., 22:38
Попробуйте print_r ($ oauth); после этого вызова: $ oauth-> getAccessToken (); Может быть, вы увидите некоторые ошибки в ответе твиттера.
 Roland Soós30 сент. 2010 г., 22:38
Я думаю, что вы не получите oauth_token_secret в ответе из Twitter. Ознакомьтесь с предложениями Джона Мисоскиана, возможно, некоторые расширения не установлены в вашем php, или, возможно, твиттер вернет вам информацию об ошибке для вашего запроса, которую вы можете получить из вашего класса в твиттере.
 abraham01 окт. 2010 г., 01:36
Вы также можете попробовать var_dump ($ oauth-> http_code); чтобы увидеть, какой код ответа возвращает твиттер.dev.twitter.com/pages/responses_errors

Я такой же баг. Потому что я не настраивал OAUTH_CALLBACK. Надеюсь, полезно для вас.

@Bharanikumar
AFAIK, во-первых, вы должны вызвать функцию

$request_token = $oauth->getRequestToken();  

тогда ты получишь

$request_token['oauth_token']; and $request_token['oauth_token_secret']; 

тогда делай ниже

 $URL = $oauth->getAuthorizeURL($request_token);

 $oauth = new TwitterOAuth('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET',  $request_token['oauth_token'],$request_token['oauth_token_secret']);  

 $access = $oauth->getAccessToken(NULL, $_GET['pin']);
 $accessToken = $access ['oauth_token'];
 $accessTokenSecret = $access ['oauth_token_secret'];

и затем примените свой код

if ($pin)

Надеюсь, что это поможет вам..

 Tarik05 окт. 2011 г., 01:52
Это помогло мне :)

Эта проблема была решена для меня, установив URL-адрес обратного вызова в настройках приложения Twitter.http://dev.twitter.com

В настройках приложения Twitter «URL обратного вызова» добавьте любой URL обратного вызова, например:
https://dev.twitter.com/

В противном случае твиттер будет рассматривать ваше приложение как настольное приложение, и вы получите ошибку:

Desktop applications only support the oauth_callback value 'oob'

и ваш скрипт php выдаст такие ошибки:

Notice: Undefined index: oauth_token in twitteroauth.php on line 80

Но, установив URL-адрес обратного вызова из сценария php, он перезапишет заполнитель URL-адреса обратного вызова по умолчанию и будет рассматривать ваше приложение как веб-приложение.

 Goke Obasa28 июн. 2016 г., 01:01
Спасибо, это избавило меня от многих проблем.

Пожалуйста, проверьте php-компоненты:

Curl SSLОткрыть SSLhash_hmac

Ваш ответ на вопрос