php twitter api - 如何获取访问令牌?

时间:2014-03-12 17:18:20

标签: php twitter access-token

我正在使用此代码生成访问令牌:

if(isset($_POST['login_tw'])) {

$request_token = $connection->getRequestToken($_REQUEST['oauth_verifier']); 

    if($request_token)  {
        $token = $request_token['oauth_token'];
        $_SESSION['request_token'] = $token ;
        $_SESSION['request_token_secret'] = $request_token['oauth_token_secret'];

        if($connection->http_code = 200) 
        {
                $url = $connection->getAuthorizeURL($token);

                header('Location: ' . $url); 

                $fp=fopen('config.php','w');
                fwrite($fp, '<?php 
                $acsstok = "' . $_SESSION['request_token'] . '";
                $scrtaccstok = "' . $_SESSION['request_token_secret'] . '";
                ?>');
                fclose($fp);                    

        }

但生成的令牌无法用于任何事情,尤其是获取其他用户关注者的列表。

访问令牌格式与“应用程序管理”生成的格式不同。具有如下前导数字的页面:

340708911-xVcFcjVjkdksfdrjhgjdfyhjdfhjdhdfkdjgkfvaJ

但它没有这样的前导数字:

xVcFcjVjkdksfdrjhgjdfyhjdfhjdhdfkdjgkfvaJ

上面的代码有什么问题,应该怎么做才能在我的应用中使用生成的访问令牌?

有人可以帮助我吗?我花了一天的时间来找到解决这个问题的方法。

最好的问候

1 个答案:

答案 0 :(得分:2)

要让Twitter用户成为您的应用程序的用户,您必须征得他们的同意。

获得request_token后,您需要将用户重定向到Twitter上的授权屏幕,他们可以按照此处的说明批准您的应用:Obtaining Access Tokens

授予对应用程序的访问权限后,用户将被重定向回您的应用程序,特别是您指定的回调URL。在该页面上,您需要捕获Twitter发送给您的信息(oauth_verifier和原始request_token),然后向Twitter发送另一个请求以交换request_token access_token }。使用此access_token,类似于您提到的(使用用户ID前缀),您将能够对Twitter API执行经过身份验证的请求。

如果您希望使用现有的第三方PHP库并在将Twitter集成到应用程序中时简化这些身份验证步骤,请检查Twitter Libraries