Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Clasi OOP e variabili

  1. #1

    Clasi OOP e variabili

    Buongiorno a tutti !

    Ho questo problemma che mi affligge da giorni :-)

    Da una serie di classi PHP incluse con "require_once " alla fine mi ritorna un json in questo modo

    $twitter = new TwitterAPIExchange($Twitter_settings);
    $twitter->setGetfield($getfield)
    ->buildOauth($TwitterUrl, $requestMethod)
    ->performRequest();

    come posso usare la variabile $twitter adesso ?

    io vorrei fare tipo

    $Data_twitter = json_decode($twitter)

    foreach ($Data_twitter as $tweety){
    if (!empty($tweety)) {
    array_push($ArrayText, $tweety->text);
    array_push($ArrayCreated, $tweety->created);
    array_push($ArrayScreen_name, $tweety->user->screen_name);
    array_push($Arrayprofile_image_url, $tweety->user->profile_image_url);
    array_push($ArraySocialType, "Tweet");
    }
    }

    ma non funziona .... l'una cosa che risco a fare è un bel "echo" :-((

    help me please !!!!

  2. #2
    l' indirizzo è

    http://github.com/j7mbo/twitter-api-php


    la parte che uso io è questo

    <?php

    /**
    * Twitter-API-PHP : Simple PHP wrapper for the v1.1 API
    *
    * PHP version 5.3.10
    *
    * @category Awesomeness
    * @package Twitter-API-PHP
    * @author James Mallison <me@j7mbo.co.uk>
    * @license http://opensource.org/licenses/gpl-license.php GNU Public License
    * @link http://github.com/j7mbo/twitter-api-php
    */

    global $json;

    class TwitterAPIExchange
    {
    private $oauth_access_token;
    private $oauth_access_token_secret;
    private $consumer_key;
    private $consumer_secret;
    private $postfields;
    private $getfield;
    protected $oauth;
    public $url;
    /**
    * Create the API access object. Requires an array of settings::
    * oauth access token, oauth access token secret, consumer key, consumer secret
    * These are all available by creating your own application on dev.twitter.com
    * Requires the cURL library
    *
    * @param array $settings
    */
    public function __construct(array $settings)
    {
    if (!in_array('curl', get_loaded_extensions()))
    {
    throw new Exception('You need to install cURL, see: http://curl.haxx.se/docs/install.html');
    }

    if (!isset($settings['oauth_access_token'])
    || !isset($settings['oauth_access_token_secret'])
    || !isset($settings['consumer_key'])
    || !isset($settings['consumer_secret']))
    {
    throw new Exception('Make sure you are passing in the correct parameters');
    }

    $this->oauth_access_token = $settings['oauth_access_token'];
    $this->oauth_access_token_secret = $settings['oauth_access_token_secret'];
    $this->consumer_key = $settings['consumer_key'];
    $this->consumer_secret = $settings['consumer_secret'];
    }

    /**
    * Set postfields array, example: array('screen_name' => 'J7mbo')
    *
    * @param array $array Array of parameters to send to API
    *
    * @return TwitterAPIExchange Instance of self for method chaining
    */
    public function setPostfields(array $array)
    {
    if (!is_null($this->getGetfield()))
    {
    throw new Exception('You can only choose get OR post fields.');
    }

    if (isset($array['status']) && substr($array['status'], 0, 1) === '@')
    {
    $array['status'] = sprintf("\0%s", $array['status']);
    }

    $this->postfields = $array;

    return $this;
    }

    /**
    * Set getfield string, example: '?screen_name=J7mbo'
    *
    * @param string $string Get key and value pairs as string
    *
    * @return \TwitterAPIExchange Instance of self for method chaining
    */
    public function setGetfield($string)
    {
    if (!is_null($this->getPostfields()))
    {
    throw new Exception('You can only choose get OR post fields.');
    }

    $search = array('#', ',', '+', ':');
    $replace = array('%23', '%2C', '%2B', '%3A');
    $string = str_replace($search, $replace, $string);

    $this->getfield = $string;

    return $this;
    }

    /**
    * Get getfield string (simple getter)
    *
    * @return string $this->getfields
    */
    public function getGetfield()
    {
    return $this->getfield;
    }

    /**
    * Get postfields array (simple getter)
    *
    * @return array $this->postfields
    */
    public function getPostfields()
    {
    return $this->postfields;
    }

    /**
    * Build the Oauth object using params set in construct and additionals
    * passed to this method. For v1.1, see: https://dev.twitter.com/docs/api/1.1
    *
    * @param string $url The API url to use. Example: https://api.twitter.com/1.1/search/tweets.json
    * @param string $requestMethod Either POST or GET
    * @return \TwitterAPIExchange Instance of self for method chaining
    */
    public function buildOauth($url, $requestMethod)
    {
    if (!in_array(strtolower($requestMethod), array('post', 'get')))
    {
    throw new Exception('Request method must be either POST or GET');
    }

    $consumer_key = $this->consumer_key;
    $consumer_secret = $this->consumer_secret;
    $oauth_access_token = $this->oauth_access_token;
    $oauth_access_token_secret = $this->oauth_access_token_secret;

    $oauth = array(
    'oauth_consumer_key' => $consumer_key,
    'oauth_nonce' => time(),
    'oauth_signature_method' => 'HMAC-SHA1',
    'oauth_token' => $oauth_access_token,
    'oauth_timestamp' => time(),
    'oauth_version' => '1.0'
    );

    $getfield = $this->getGetfield();

    if (!is_null($getfield))
    {
    $getfields = str_replace('?', '', explode('&', $getfield));
    foreach ($getfields as $g)
    {
    $split = explode('=', $g);
    $oauth[$split[0]] = $split[1];
    }
    }

    $base_info = $this->buildBaseString($url, $requestMethod, $oauth);
    $composite_key = rawurlencode($consumer_secret) . '&' . rawurlencode($oauth_access_token_secret);
    $oauth_signature = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true));
    $oauth['oauth_signature'] = $oauth_signature;

    $this->url = $url;
    $this->oauth = $oauth;

    return $this;
    }

    /**
    * Perform the acual data retrieval from the API
    *
    * @param boolean $return If true, returns data.
    *
    * @return json If $return param is true, returns json data.
    */
    public function performRequest($return = true)
    {
    if (!is_bool($return))
    {
    throw new Exception('performRequest parameter must be true or false');
    }

    $header = array($this->buildAuthorizationHeader($this->oauth), 'Expect:');

    $getfield = $this->getGetfield();
    $postfields = $this->getPostfields();

    $options = array(
    CURLOPT_HTTPHEADER => $header,
    CURLOPT_HEADER => false,
    CURLOPT_URL => $this->url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false
    );

    if (!is_null($postfields))
    {
    $options[CURLOPT_POSTFIELDS] = $postfields;
    }
    else
    {
    if ($getfield !== '')
    {
    $options[CURLOPT_URL] .= $getfield;
    }
    }

    $feed = curl_init();
    curl_setopt_array($feed, $options);
    $json = curl_exec($feed);
    curl_close($feed);

    if ($return) { return $json; }
    }

    /**
    * Private method to generate the base string used by cURL
    *
    * @param string $baseURI
    * @param string $method
    * @param string $params
    *
    * @return string Built base string
    */
    private function buildBaseString($baseURI, $method, $params)
    {
    $return = array();
    ksort($params);

    foreach($params as $key=>$value)
    {
    $return[] = "$key=" . $value;
    }

    return $method . "&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $return));
    }

    /**
    * Private method to generate authorization header used by cURL
    *
    * @param array $oauth Array of oauth data generated by buildOauth()
    *
    * @return string $return Header used by cURL for request
    */
    private function buildAuthorizationHeader($oauth)
    {
    $return = 'Authorization: OAuth ';
    $values = array();

    foreach($oauth as $key => $value)
    {
    $values[] = "$key=\"" . rawurlencode($value) . "\"";
    }

    $return .= implode(', ', $values);
    return $return;
    }

    }

  3. #3
    già provato a fare var_dump($twitter) ... non vien fuori niente di buono solo


    object(TwitterAPIExchange)#1 (8) { ["oauth_access_token":"TwitterAPIExchange"rivate]=> string(49) "15503213-s3rs2rA52P3qyP4khrSdNIHczWbFWMulc3z1mQ" ["oauth_access_token_secret":"TwitterAPIExchang e"rivate]=> string(40) "MVNkXnujqnu5CeKmLcJGT7SAfwc" ["consumer_key":"TwitterAPIExchange"rivate]=> string(22) "xxxxxxxx" ["consumer_secret":"TwitterAPIExchange"rivate]=> string(43) "xxxxxxxxx" ["postfields":"TwitterAPIExchange"rivate]=> NULL ["getfield":"TwitterAPIExchange"rivate]=> string(29) "?screen_name=ebarolo&count=10" ["oauth"rotected]=> array(9) { ["oauth_consumer_key"]=> string(22) "T4fcC4xz8OtmSntUlLPprw" ["oauth_nonce"]=> int(1372689706) ["oauth_signature_method"]=> string(9) "HMAC-SHA1" ["oauth_token"]=> string(49) "15503213-s38s2rA51tP3qyP4khrSHoNIHczWbFWMulc3z1mQ" ["oauth_timestamp"]=> int(1372689706) ["oauth_version"]=> string(3) "1.0" ["screen_name"]=> string(7) "xxx" ["count"]=> string(2) "10" ["oauth_signature"]=> string(28) "wHZdUpUW7H2Gdtfa/u9xceR3KNs=" } ["url"]=> string(47) "https://api.twitter.com/1.1/favorites/list.json" }

    l' unico modo per far venire fuori in modo corretto il json è


    echo $twitter->setGetfield($getfield) ->buildOauth($TwitterUrl, $requestMethod) ->performRequest();

    ma a questo punto non riesco ad utilizzare la varibile :-))

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.