Session, PHP Incomplete Class

前端 未结 2 1596
夕颜
夕颜 2020-12-21 09:46

I am using cakePHP 2.x . Currently doing about the twitter OAuth, http://code.42dh.com/oauth/.

function twitter_authentication()
{
            //assume above         


        
相关标签:
2条回答
  • 2020-12-21 10:07

    OAuth.php's OauthToken class is quite simple with just two properties: key and secret. When you get the login url, you can store it to the session as an array:

    CakeSession::write('Twitter.requestToken', array(
        'key' => $requestToken->key,
        'secret' => $requestToken->secret
    ));
    

    Then, instantiate your own OAuthToken when calling OAuthClient->getAccessToken() like so:

    $sessionRequestToken = CakeSession::read('Twitter.requestToken');
    $accessToken = $twitterClient->getAccessToken('https://api.twitter.com/oauth/access_token', 
        new OAuthToken($sessionRequestToken['key'], $sessionRequestToken['secret']));
    

    Should be ready to go:

    if ($accessToken) {
        $twitterClient->post($accessToken->key, $accessToken->secret, 
            'https://api.twitter.com/1/statuses/update.json', array('status' => 'My balls smells like A-1 sauce. #science'));
    }
    
    0 讨论(0)
  • 2020-12-21 10:15

    "PHP Incomplete Class" means PHP doesn't have a class definition for the object you're loading.

    Option A: figure out what class that object is when you write it into the session and ensure that class's definition is loaded before loading the object.

    Option B: convert the object to an stdClass or array before writing it, and convert back after loading. This might be more complex than the first option.

    0 讨论(0)
提交回复
热议问题