首页 >后端开发 >php教程 >为什么我收到 Twitter API 错误代码 215:'身份验证数据错误”?

为什么我收到 Twitter API 错误代码 215:'身份验证数据错误”?

Linda Hamilton
Linda Hamilton原创
2024-10-24 22:25:30773浏览

Why am I getting Twitter API Error Code 215:

Twitter API 中的错误代码 215:错误的身份验证数据

尝试使用 Twitter 的 API 检索用户的关注者列表时,您可能会遇到错误代码 215:“身份验证数据错误。”这可能是一个令人沮丧的障碍,尤其是当无法轻松访问必要的文档时。

了解错误

错误代码 215 表示用于验证的身份验证凭据存在问题访问 API。当提供的令牌和/或密钥不正确或格式不正确时,会触发该事件。

解决问题

要成功解决此问题,必须执行以下步骤:

  1. 验证您的凭据:确保 API 密钥、API 机密、访问令牌和访问令牌机密正确。这些凭据应从 Twitter 开发者门户获取。
  2. 检查格式: 确保所有凭据的格式均符合 Twitter API 指南。令牌和秘密应该进行 URL 编码,并且应正确生成随机数和时间戳。
  3. 使用正确的签名方法: Twitter 目前支持 HMAC-SHA1 作为身份验证的签名方法。确保您的代码使用此方法并且生成的签名符合要求。

示例实现

以下是正确实现 Twitter 身份验证的示例使用 PHP 的 API:

<code class="php">$consumer_key = 'YOUR_CONSUMER_KEY';
$consumer_secret = 'YOUR_CONSUMER_SECRET';
$access_token = 'YOUR_ACCESS_TOKEN';
$access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET';

// Generate OAuth signature
$oauth_params = array(
    'oauth_timestamp' => time(),
    'oauth_nonce' => uniqid(),
    'oauth_version' => '1.0',
    'oauth_signature_method' => 'HMAC-SHA1'
);
$base_url = 'https://api.twitter.com/1.1/followers/ids.json';
$encoded_url = rawurlencode($base_url);
$encoded_parameters = rawurlencode(http_build_query($oauth_params));
$signature_base = "$method&amp;$encoded_url&amp;$encoded_parameters";
$signature_key = "$consumer_secret&amp;$access_token_secret";
$signature = rawurlencode(base64_encode(hash_hmac('sha1', $signature_base, $signature_key, true)));

// Construct the authorization header
$authorization = "OAuth oauth_consumer_key=\"$consumer_key\", oauth_nonce=\"$oauth_params[oauth_nonce]\", oauth_signature=\"$signature\", oauth_signature_method=\"$oauth_params[oauth_signature_method]\", oauth_timestamp=\"$oauth_params[oauth_timestamp]\", oauth_version=\"$oauth_params[oauth_version]\"";

// Build the request header
$headers = array(
    'Authorization: ' . $authorization
);</code>

通过实施上述步骤并结合提供的代码示例,您应该能够解决错误代码 215 并成功验证您的 Twitter API 请求。

以上是为什么我收到 Twitter API 错误代码 215:'身份验证数据错误”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn