我对Twitter API和对OAuth的总体理解存在问题。我可以轻松地请求从我的帐户中提取信息。我遇到的问题是,其他用户可能会使用“使用Twitter登录”。即使我能在他们登录后获得其他用户信息,我也无法在其他网站上单独请求他们的信息。php页面(我不想从MySQL获取信息)。我只能在原件上获得他们的信息一次。在他们登录并加载页面后返回php页面。
我将发布一些代码,但我的主要担忧/问题是——是否有可能保存用户访问令牌信息(并重复使用),或者我是否需要用户每次登录并进行身份验证,以便从他们的帐户中提取信息?我很难理解这一点。我可以保存哪些信息,以便将来代表用户提出请求,而不必让他们每次都登录?
代码示例:
require "autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
define('CONSUMER_KEY', 'my consumer key');
define('CONSUMER_SECRET', 'secret');
define('OAUTH_CALLBACK', 'API/Twitter/Twitter.php');
$access_token = 'beep boop boop beep';
$access_token_secret = 'super secret';
session_start();
if (isset($_SESSION['oauth_token'])) {
$oauth_token = $_SESSION['oauth_token'];
echo "<div style='background-color:white; width:100%;'>";
echo $oauth_token; echo "</div>";
unset($_SESSION['oauth_token']);
$connection = new Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$params = array("oauth_verifier" => $_GET['oauth_verifier'], 'oauth_token' => $_GET['oauth_token']);
$access_token = $connection->oauth('oauth/access_token', $params);
$connection = new Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
$content = $connection->get('account/verify_credentials');
//Printing the profile data
//print_r($content);
$TimeLine = $connection->get("statuses/user_timeline", ["screen_name"=>$content->screen_name, "count"=>10]);
echo "<br><br><br>";
echo "<div style='width:100%; background-color:red; height:auto;'>";
print_r($connection);
echo "</div>";
//print_r($TimeLine);
} else {
$connection = new Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" => $callback));
$_SESSION['oauth_token'] = $temporary_credentials['oauth_token'];
$_SESSION['oauth_token_secret'] = $temporary_credentials['oauth_token_secret'];
$url = $connection->url('oauth/authenticate', array('oauth_token' => $temporary_credentials['oauth_token']));
}
为了代表他们维护对用户信息的访问,您需要的是生成的oAuth Token和oAuth Token Secret。在我上面列出的特定情况下,步骤应该是
$connection = new Abraham\TwitterOAuth\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, USER_oAuth_TOKEN, USER_oAuth_TOKEN_SECRET);
$content = $connection->get('account/verify_credentials');
您需要自己的应用程序使用者密钥和使用者密钥。当有人用Twitter登录时,你必须保存他们的oAuth令牌和oAuth令牌机密。当您拥有这些信息(存储在数据库中)时,您现在可以代表用户拨打电话,以备将来的请求。
关于我上面列出的具体问题,我没有保存这些信息。我一直在制作新的oAuth标记和秘密。
我试图使用Twitter API从给定的推文导入视频。但是,当我使用终结点时,它不会像返回图像那样返回视频的任何扩展实体,而是返回一个链接到嵌入有视频播放器的视频容器的url实体,该视频容器包含一个指向视频的模糊链接。 以下是一个例子: 我正试图在 使用推特应用编程接口的endpoint和推特id,我得到这样的响应: 遵循URL后,视频标签的来源为
通过该接口可以获取指定用户的账户信息,地址为: http://spark.bokecc.com/api/user 需要传递以下参数: 参数 说明 userid 用户id,不可为空 format 返回格式,xml 或json 返回数据user包含如下字段: 字段名 说明 account 用户账户 version 版本信息 expired 到期时间 space 用户空间信息 traffic 用户流量信
QN.user.getInfo(options) 获取用户信息 响应 名称 类型 是否必须返回 含义 result Object 响应对象 result.errorCode Number 错误码,成功为0,失败为非0 result.errorMsg String 错误信息 result.user_id String 用户的数字id result.user_nick String 用户用户名 res
cmf_get_current_user() 功能 获取当前登录的前台用户的信息,未登录时,返回false 参数 无 返回 array:用户信息;false表示未登录;
有什么建议吗?
https://graph.facebook.com/v3.0/me?fields=id,name,posts&access_token={#}