我使用TwitterOAuth从我自己的PHP代码发推文。一切都很好。我只是想知道如何回应用户通过我的PHP应用程序发布的tweet的超链接。这是我用于推文发布的代码:
<?php
//LOADING LIBRARY
require "twitteroauth/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
$consumer_key = '';
$consumer_secret = '';
$access_token = "";
$access_token_secret = "";
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$content = $connection->get("account/verify_credentials");
$statues = $connection->post("statuses/update", array("status" => "hello world"));
if ($connection->getLastHttpCode() == 200) {
echo 'Tweet posted succesfully';
} else {
echo 'Handle error case';
}
?>
答案 0 :(得分:1)
Twitter statuses/update
在您发布推文后发出的回复记录here。
对我来说,它看起来像这样 -
Array
(
[id_str] => 662128569695383552
...
[user] => stdClass Object
(
[screen_name] => couchthomas
...
id_str
和screen_name
可用于构建推文网址。
https://twitter.com/<screen_name>/status/<id_str>
所以,如果你得到一个像上面这样的回复,它看起来就像这样 -
$id_str = $statues["id_str"];
$screen_name = $statues["user"]->screen_name;
$tweet_url = "https://twitter.com/$screen_name/status/$id_str";
尝试var_dump
$statues
变量并相应地构建它。
修改强> 现在我已经确定了OP输出,澄清了这个答案 输出看起来像这样 -
object(stdClass)#7 (23) {
["created_at"]=> string(30) "Thu Nov 05 12:17:43 +0000 2015"
["id"]=> int(662242385318014977)
["id_str"]=> string(18) "662242385318014977"
...
["user"]=> object(stdClass)#22 (40)
{
...
["name"]=> string(8) "Eggs Lab"
["screen_name"]=> string(7) "EggsLab"
因此,相应地,您可以获取推文的id_str
(这是一个直接键statues
)和用户的screen_name
(它是嵌套在obj user
里面$statues
)by -
$id_str = $statues->id_str;
$screen_name = $statues->user->screen_name;
并按上述说明创建推文网址。