Laravel以用户身份发送推文

时间:2016-11-09 14:33:30

标签: php laravel twitter send tweets

是否可以像laravel一样发送自动推文。 用户必须通过我的Twitter API登录,然后我可以发送推文作为他吗?当然他必须接受这个动作。我必须知道用户何时推文我的页面。 它可以像facebook分享一样工作吗?有这个工具吗?

抱歉我的英文。 谢谢你的回答。

PS。 我不是指这个包http://vegibit.com/send-a-tweet-with-laravel/。 我需要将推文发送到用户表。

2 个答案:

答案 0 :(得分:1)

使用此https://twitteroauth.com/包。

推入您的控制台composer require abraham/twitteroauth 当所有安装完毕后,你应该添加 use Abraham\TwitterOAuth\TwitterOAuth;给你的班级。

现在,你必须与你的api建立联系。

$connection = new TwitterOAuth(
CONSUMER_KEY, // Information about your twitter API
CONSUMER_SECRET, // Information about your twitter API
$access_token, // You get token from user, when him  sigin to your app by twitter api
$access_token_secret// You get tokenSecret from user, when him  sigin to your app by twitter api
);

如果您创建了连接,那么您可以以用户身份发送帖子。 例如:

$connection->post("statuses/update", ["status" => "My first post!"]);

答案 1 :(得分:0)

我发现ThuJohn包是这类工作的赢家。 https://github.com/thujohn/twitter 易于使用各种选项,例如

在没有媒体的情况下实时发送推文:

Route::get('/send-tweet-no-media', function()
{
    return Twitter::postTweet(['status' => 'Laravel is beautiful', 'format' => 'json']);
});

使用媒体实时发送推文:

Route::get('/send-tweet-with-media', function()
{
    $uploaded_media = Twitter::uploadMedia(['media' => File::get(public_path('filename.jpg'))]);
    return Twitter::postTweet(['status' => 'Laravel is beautiful', 'media_ids' => $uploaded_media->media_id_string]);
});

您还可以执行各种其他操作,例如登录,您可以将其设置为额外级别并轻松存储用户令牌和放大器。您的用户表的秘密和预定的帖子。

存储用户令牌&秘密你可以发推特为他们发布的推文如下:

//Get the Users token & from your User Table (or where ever you stored them)
$token = $user->token;
$secret = $user->secret;

//This line resets the token & secret with the users        
Twitter::reconfig(['token' => $token, 'secret' => $secret]);

//This line posts the tweet as the user
Twitter::postTweet(['status' => 'test', 'format' => 'json']);