如何在 TwitterOAuth 中打印推文的超链接

How to print tweet's hyperlink in TwitterOAuth

我正在使用 TwitterOAuth 从我自己的 PHP 代码发推文。一切正常。我只想知道如何回应用户刚刚通过我的 PHP 应用程序发布的推文超链接。这是我用于发布推文的代码:

<?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';
}

?>

Twitter statuses/update 在你 post 一条推文之后给出的响应被记录在案 here
对我来说,它看起来像这样 -

Array
(
    [id_str] => 662128569695383552
    ...
    [user] => stdClass Object
        (
            [screen_name] => couchthomas
            ...

id_strscreen_name 可用于构建推文 url。

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_dumping $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) 通过 -

$id_str = $statues->id_str;
$screen_name = $statues->user->screen_name;

并创建推文 url 如上所述。