示例#1
0
 public function post_twitter($twitter_access_token, $status)
 {
     $result = array('success' => false);
     try {
         $access_token = json_decode($twitter_access_token);
         $connection = new \Abraham\TwitterOAuth\TwitterOAuth(TWITTER_KEY, TWITTER_SECRET_KEY, $access_token->oauth_token, $access_token->oauth_token_secret);
         $content = $connection->post("statuses/update", ["status" => $status]);
         if (isset($content->id_str)) {
             $result['success'] = true;
             $result['link'] = "https://twitter.com/" . $content->user->screen_name . "/status/" . $content->id;
         }
     } catch (Exception $e) {
         $result['message'] = $e->getMessage();
     }
     return $result;
 }
示例#2
0
文件: app.php 项目: mrAndersen/Creed
});
$app->post('/authTwitter', function () {
    session_start();
    $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
    $_SESSION['image'] = $request->request->get('photo');
    $_SESSION['text'] = $request->request->get('text');
    $connection = new \Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
    $request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => TWITTER_OAUTH_ENDPOINT));
    $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
    $authURL = $connection->url('oauth/authorize', array('oauth_token' => $request_token['oauth_token']));
    $response = new \Symfony\Component\HttpFoundation\JsonResponse(['url' => $authURL]);
    $response->send();
});
$app->get('/shareTwitter', function () {
    session_start();
    $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
    $_SESSION['oauth_token'] = $request->query->get('oauth_token');
    $_SESSION['oauth_verifier'] = $request->query->get('oauth_verifier');
    $connection = new \Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
    $access_token = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_SESSION['oauth_verifier']));
    $_SESSION['oauth_token'] = $access_token['oauth_token'];
    $_SESSION['oauth_token_secret'] = $access_token['oauth_token_secret'];
    $_SESSION['twitter_user_id'] = $access_token['user_id'];
    $connection = new \Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
    $imageURL = $_SESSION['image'];
    $photo = $connection->upload('media/upload', ['media' => $imageURL]);
    $statues = $connection->post("statuses/update", ['status' => $_SESSION['text'], 'media_ids' => $photo->media_id]);
    $response = new \Symfony\Component\HttpFoundation\RedirectResponse('https://twitter.com');
    $response->send();
});
$app->run();
示例#3
0
    $accessToken = session('access_token');
    if (!session()->has('twitter_account')) {
        $connection = new Abraham\TwitterOAuth\TwitterOAuth(env('TWITTER_CONSUMER_KEY'), env('TWITTER_CONSUMER_SECRET'), $accessToken['oauth_token'], $accessToken['oauth_token_secret']);
        $twitterAccount = $connection->get("account/verify_credentials");
        session(['twitter_account' => $twitterAccount]);
    }
    $twitterAccount = session('twitter_account');
    return view('twitter.index', compact('twitterAccount'));
});
Route::post('/twitter-status', ['as' => 'twitter_status_update', function (Illuminate\Http\Request $request) {
    $connection = new Abraham\TwitterOAuth\TwitterOAuth(env('TWITTER_CONSUMER_KEY'), env('TWITTER_CONSUMER_SECRET'), session('access_token.oauth_token'), session('access_token.oauth_token_secret'));
    $statues = $connection->post("statuses/update", ["status" => $request->input('status')]);
    if ($connection->getLastHttpCode() == 200) {
        return redirect('twitter-profile')->with("message", "Update status success!")->with("success", true);
    }
    return redirect('twitter-profile')->with('message', 'Error: can"t update status')->with('success', false);
}]);
Route::post('/twitter-send-message', ['as' => 'twitter_send_message', function (Illuminate\Http\Request $request) {
    $connection = new Abraham\TwitterOAuth\TwitterOAuth(env('TWITTER_CONSUMER_KEY'), env('TWITTER_CONSUMER_SECRET'), session('access_token.oauth_token'), session('access_token.oauth_token_secret'));
    $fields = ['message' => $request->input('message'), 'to' => $request->input('to')];
    $request = $connection->post("direct_messages/new", $fields);
    if ($connection->getLastHttpCode() == 200) {
        return redirect('twitter-profile')->with('message', "Message sent to @" . $request->input('to'))->with('success', true);
    }
    return redirect('twitter-profile')->with('message', "Send message failed!")->with('success', false);
}]);
Route::get('/logout', ['as' => 'logout_path', function (Illuminate\Http\Request $request) {
    session()->forget('twitter_account');
    session()->forget('access_token');
    return redirect(route('login_path'));
}]);