gpt4 book ai didi

php - 401 - 尝试使用 PHP 将图片上传到 TwitPic 时出现 "Could not authenticate you (header rejected by twitter)."

转载 作者:可可西里 更新时间:2023-11-01 13:28:43 27 4
gpt4 key购买 nike

我正在使用 meltingice's API for TwitPic当我尝试上传图片时,出现 401 错误消息“无法对您进行身份验证(标题被 Twitter 拒绝)”。

我的 header (从 HTTP Request2 对象中检索)是:

Array
(
[user-agent] => HTTP_Request2/2.0.0 (http://pear.php.net/package/http_request2) PHP/5.2.17
[x-verify-credentials-authorization] => OAuth realm="http://api.twitter.com/", oauth_consumer_key="****************", oauth_signature_method="HMAC-SHA1", oauth_token="#########-******************", oauth_timestamp="1325192643", oauth_nonce="***********", oauth_version="1.0", oauth_signature="****************%3D"
[x-auth-service-provider] => https://api.twitter.com/1/account/verify_credentials.json
[content-type] => multipart/form-data
)

我确定 verify_credentials 签名使用的是 GET,我看不到任何其他问题。

我做错了什么?

谢谢:)

编辑:这是我的源代码。

$venue = $this->Venue->findById($venueId);
$twitterData = json_decode($venue['Venue']['twitter_data']);
$token = $twitterData->token;
$secret = $twitterData->secret;
$this->Twitter->loginTwitterUser($token, $secret);
require_once(WWW_ROOT.'twitpic/TwitPic.php');

$twitpic = new TwitPic('**********', '*******', '*********', $token, $secret);


$result['result'] = $twitpic->upload(array('media'=> '/home/todays/public_html/tsm/app/webroot/files/uploads/LOGOA7V1_10.png', 'message'=> 'test'));

而且我确信 token 、 secret 和应用凭据是正确的,因为它们在我的 Twitter API 中工作时没有任何问题。我还仔细检查了 Twitpic API key 。

最佳答案

查看TwitPic后documentation我注意到 401 错误得到了解释:如果 OAuth header 不存在或无法通过 Twitter 验证,此方法将返回 401 Unauthorized。

您是说您确保 verify_credentials 签名使用 GET 而 API 只接受 POST。也许这是你的问题?

这是与您正在使用的 API 相关的示例代码:

关于php - 401 - 尝试使用 PHP 将图片上传到 TwitPic 时出现 "Could not authenticate you (header rejected by twitter).",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8673480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com