Как сгенерировать подпись для Twitter API 1.1 с помощью PHP cURLPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как сгенерировать подпись для Twitter API 1.1 с помощью PHP cURL

Сообщение Anonymous »

Я пытаюсь создать подпись для своего Twitter или X API, используя только PHP и cURL. Я не хочу использовать какую-либо библиотеку или пакет. Я хочу сделать это в исходном виде.
Я прочитал документацию по API и внимательно выполнил каждый шаг, но получаю сообщение об ошибке.
Вот это ошибка, которую я получаю...

Код: Выделить всё

{"errors":[{"code":32,"message":"Could not authenticate you."}]}
А вот мой код... Я попробовал использовать конечную точку x и конечную точку Twitter, и оба вернули одну и ту же ошибку.
Я выполнил инструкцию по созданию подписи для T, но пока не повезло.
Вот моя фирменная функция...

Код: Выделить всё

function signature($method, $endpoint, $params, $consumerSecret, $tokenSecret = ''){

$encodedParams = [];
foreach($params as $key => $value){
$encodedParams[$key] = $value;
}

ksort($encodedParams);

$paramString = http_build_query($encodedParams, '', '&', PHP_QUERY_RFC3986);

// echo $paramString;

$encodedUrl = rawurlencode($endpoint);
$encodedParamString = rawurlencode($paramString);
$signatureBaseString = strtoupper($method) . "&" . $encodedUrl . "&" . $encodedParamString;

// echo $signatureBaseString;

$encodedConsumerSecret = rawurlencode($consumerSecret);
$encodedTokenSecret = rawurlencode($tokenSecret);
$signingKey = $encodedConsumerSecret . "&" . $encodedTokenSecret;

$hash = hash_hmac('sha1', $signatureBaseString, $signingKey, true);

$signature = base64_encode($hash);

return $signature;

}
Пожалуйста, не спрашивайте, почему я не использую библиотеку. Я не хочу, я хочу научиться делать это только с помощью основного PHP.
Есть идеи, почему он возвращает эту ошибку?
Я уверен, что использую правильные ключи для API, созданного Twitter.

Подробнее здесь: https://stackoverflow.com/questions/793 ... g-php-curl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»