2015-11-05 47 views
1

我使用TwitterOAuth从我自己的PHP代码推文。一切工作正常。我只想知道如何回复用户刚刚通过我的PHP应用程序发送的tweet超链接。这里是我的代码,我使用的tweet帖子:如何在TwitterOAuth中打印推文的超链接

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

?> 

回答

1

,Twitter的statuses/update给出您发布后鸣叫是记录here的响应。
对我来说,它看起来是这样的 -

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

id_strscreen_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 )由 -

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

并创建tweet网址,如上所述。

+0

谢谢你的工作:) – Abdullah

+0

非常好,很高兴帮助:) – Kamehameha

+0

但有一个问题。我无法得到screen_name大部分的东西都没有出现。 – Abdullah

相关问题