我正在使用此代码生成访问令牌:
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
上面的代码有什么问题,应该怎么做才能在我的应用中使用生成的访问令牌?
有人可以帮助我吗?我花了一天的时间来找到解决这个问题的方法。
最好的问候
答案 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。