0

こんにちは、oauth (PHP) を使用してツイートを投稿しようとしています。

私は自分の Twitter アカウントでアプリケーションを作成しました。

いくつかのオープン ソース スクリプトを実行しましたが、以下のエラーが発生します。

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
4

8 に答える 8

2

私は同じエラーがありました:

注意: 未定義のインデックス: /web/htdocs/www.xxx.com/home/private/libraries> /twitteroauth/twitteroauth.php の 118 行目の oauth_token

注意: 未定義のインデックス: /web/htdocs/www.xxx.com/home/private/libraries/twitteroauth/twitteroauth.php の 118 行目の oauth_token_secret

エラーが指定したものをオンラインでデバッグします。

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 ....//
}

私はこれを見つけました:

配列 ( [ "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

下手な英語をお詫びします。

于 2013-04-25T21:00:26.480 に答える
1

@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)

これがあなたを助けることを願っています..

于 2011-01-21T08:36:06.767 に答える
0

問題は、リクエストにエラーがあるため、Twitter からの応答で oauth_token_secret を取得できないことです。ここでシンプルだが精巧な解決策をチェックしてください.. http://errorbank.blogspot.com/2012/07/php-twitter-undefined-index.html

于 2012-07-21T05:49:08.693 に答える
0

この問題は、Twitter アプリケーションの設定でコールバック URL を設定することで解決されました。http://dev.twitter.com

于 2013-11-23T17:53:43.310 に答える
0

私はこのバグと同じです。OAUTH_CALLBACK を設定していないためです。お役に立てば幸いです。

于 2014-01-23T04:47:14.493 に答える
-2

それはただのお知らせです。

その配列インデックスなどを定義していません。エラー全体と、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

于 2010-09-30T08:07:24.630 に答える