是否可以像laravel一样发送自动推文。 用户必须通过我的Twitter API登录,然后我可以发送推文作为他吗?当然他必须接受这个动作。我必须知道用户何时推文我的页面。 它可以像facebook分享一样工作吗?有这个工具吗?
抱歉我的英文。 谢谢你的回答。
PS。 我不是指这个包http://vegibit.com/send-a-tweet-with-laravel/。 我需要将推文发送到用户表。
答案 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']);