php - 如何在php和zend框架中使用twitter Oauth get请求来检索一些用户数据

标签 php zend-framework twitter oauth controller

我在使用 twitter oauth 获取一些用户数据时遇到了一个小问题。

// TWITTER APP KEYS
    $consumer_key = 'some data';
    $consumer_secret = 'some data';

    // GETTING ALL THE TOKEN NEEDED
    $oauth_verifier = $_GET['oauth_verifier'];
    $token_secret = $_COOKIE['token_secret'];
    $oauth_token = $_COOKIE['oauth_token'];

    // EXCHANGING THE TOKENS FOR OAUTH TOKEN AND TOKEN SECRET
    $connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $token_secret);
    $access_token = $connection->oauth("oauth/access_token", array(
        "oauth_verifier" => $oauth_verifier
    ));

    $accessToken = $access_token['oauth_token'];
    $secretToken = $access_token['oauth_token_secret'];

    $connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
    $connection->get("users/search");
    $content = $connection->get("account/verify_credentials");
    $media1 = $connection->upload('media/upload', [
        'media' => $this->session->image['generatedAbs']
    ]);
    $parameters = [
        'media_id' => implode(',', [
            $media1->media_id_string
        ])
    ];
    $result = $connection->post('account/update_profile_banner', $parameters);

现在我想检索一些信息,例如连接用户的姓名、他的个人资料图片链接、电子邮件地址和他的位置(如果可能) 我看了官方twitter dev documentation我没有找到如何在我的方法中使用它的方法,我尝试使用这种方式调试我的 Controller

$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
    $connection->get("https://api.twitter.com/1.1/users/profile_banner.json?screen_name=twitterapi");
    $result = json_decode($connection);
    // debug the returned result 
    Zend_Debug::dump($result,$label="debug gass" , $echo= true);

最佳答案

因此,使用 php 和 Twitter Oauth 从 Twitter 检索信息非常简单,只需让我列举一下步骤

1)获取oauth_token和oauth_verifier(问题中清楚地解释了步骤

2) 有趣的部分现在是 :D ,您需要将以下内容复制粘贴到回调页面的 Controller 中:

$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$content = $connection->get("account/verify_credentials");

现在你真的已经完成了所有的事情,只需调试结果即可:D

Zend_Debug::dump($content->profile_image_url , $label = "achref gassoumi", $echo = true);

ps:因为我正在工作,所以我使用了 zend 调试器,如果您正在使用其他框架或纯 php,只需回显以下结果即可:

echo $credentials->screen_name;
echo $credentials->profile_image_url ;
echo $credentials->location;
echo $credentials->profile_background_image_url;

要检索您可能需要的其他信息,请访问官方 Twitter Oauth 文档 GET account/verify_credentials .

关于php - 如何在php和zend框架中使用twitter Oauth get请求来检索一些用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37393757/

相关文章:

php - 使用 PDO 从 PHP 调用存储过程到使用 INPUT 参数的 MYSQL 服务器

php - 表单和成功输出

php - 想要在PHP页面中显示 "loading....."

javascript - 单击按钮即可在数据库中插入值

数据库中的 PHP 和标签

php - 少量用户接收 HTML 电子邮件作为源代码

PHP乱序执行

php - 我是否正确理解了如何使用 Zend Framework 构建强大的 php 后端?

javascript - 我应该如何处理 firebase 登录错误?

ios - 在 Twitter App IOS 上打开链接