Neden artılar benim OAuth tweets (+) var mı?

0 Cevap php

Ive OAuth kırık ve bunun için benim sınıf dosyası var. I posting a tweet son aşamasında ve all the words are joined with a plus sign tweet dışında tüm eserlerini değilim.

Changing anything results in the signature been incorrect and twitter returns 401 error.

Peki nasıl bir artıları kaldırır? Aşağıda Mesaj fonksiyonu:

function post($token, $tokenSecret, $status)
{
    // Default params
    $params = array(
        "oauth_version" => "1.0",
        "oauth_nonce" => time(),
        "oauth_timestamp" => time(),
        "oauth_consumer_key" => $this->key,
        "oauth_signature_method" => "HMAC-SHA1",
        "oauth_token" => $token,
        "status" => $status
     );
    uksort($params, 'strcmp');

    // convert params to string 
        foreach ($params as $k => $v) {$pairs[] = $this->_urlencode_rfc3986($k).'='.$this->_urlencode_rfc3986($v);}
        $concatenatedParams = implode('&', $pairs);

        // form base string (first key)
        $baseString= "POST&".$this->_urlencode_rfc3986($this->request_statuses_url)."&".$this->_urlencode_rfc3986($concatenatedParams);
        // form secret (second key)
        $secret = $this->_urlencode_rfc3986($this->secret)."&".$this->_urlencode_rfc3986($tokenSecret);
        // make signature
        $sig = $this->_urlencode_rfc3986(base64_encode(hash_hmac('sha1', $baseString, $secret, TRUE)));

     // BUILD URL
        $url = $this->request_statuses_url; // twitter update url
        $paramString = $concatenatedParams."&oauth_signature=".$sig;

     // Send to cURL
     $result = $this->_http($url, $paramString);

     if($result['httpCode'] == '200'){

        // Return array
        return $result;
    }
    else{

        // Error
        show_error($result['httpCode'], $result['httpCode']);
        return FALSE;
    }       
}

0 Cevap