gpt4 book ai didi

php如何使用oauth制作正确的twitter api curl

转载 作者:可可西里 更新时间:2023-11-01 13:25:04 45 4
gpt4 key购买 nike

我想使用 php curloauthtwitter 获取 JSON 数据。这是我的代码。返回错误消息 "error":"Timestamp out of bounds"

我想知道,如何使用 oauth 制作正确的 twitter api curl?

  1. 什么是oauth_consumer_keyoauth_tokenoauth_nonceoauth_signature?我说得对吗?

  2. 如何解决"error":"Timestamp out of bounds"

  3. 我的curl_setopt 方法怎么样?

在很多方面,我想使用这个 php curl 来解码其他 twitter api(已更改的 url)。非常感谢。

$callback="<callback url>";
$consumer_key="<Consumer key>";
$consumer_secret="<Consumer secret>";
$oauth_token="<Access Token (oauth_token)>";
$oauth_signature="<Access Token Secret (oauth_token_secret)>";//these key word in my api panel
$time = mktime(date("Y-m-d H:i:s"))-86400;
$url = "https://api.twitter.com/1/friends/ids.json?";
$url .= "user_id=<user id>";
$url .= "&realm=".urlencode($callback)."";
$url .= "&service_provider_id=11";
$url .= "&oauth_consumer_key=".$consumer_key."";
$url .= "&oauth_token=".$oauth_token."";
$url .= "&oauth_nonce=".$consumer_secret."";
$url .= "&oauth_signature_method=HMAC-SHA1";
$url .= "&oauth_timestamp=".$time."";
$url .= "&oauth_version=1.0";
$url .= "&oauth_signature=".$oauth_signature."";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: api.twitter.com'));
$json = curl_exec($ch);
curl_close ($ch);
$data = json_decode($json, true);
print_r($json);

最佳答案

您正在使用 mktime错误地,它不接受日期字符串。但是,我建议您不要这样做......

$time = time() - 86400;

关于您的其他问题,我建议您获取一个支持 oauth 的 PHP 推特库。那里有很多,重新发明轮子是没有意义的……通常 :)

https://dev.twitter.com/docs/auth/oauth/single-user-with-examples

关于php如何使用oauth制作正确的twitter api curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6249939/

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