最近我读了一个很好的教程如何使用Twitter OAuth验证用户,即使它在更改Twitter ID格式之前编写,但它也适用于新的Twitter ID格式.
我有一些问题,请解释一下是否有人成功完成了..
为什么我们总是调用两个方法getRequestToken和 getAccessToken ?是得到access token和access token secret?但两者都已在下面的页面中给出...
http://dev.twitter.com/apps/ {your_app_id}/my_token.
什么是请求令牌和请求令牌秘密的确切需要?虽然我注意到每次处理时两个令牌都不同.
如果我们从下面的方法更新我们的状态
$connection->post( 'statuses/update', array('status' => 'some message got from text area value' );
那么我们如何验证状态是否已成功更新?这意味着如果我想显示警告消息post has been sent successfully,我如何在我们的PHP页面中实现它?
哪个回调网址很重要,即在Twitter上发布或做某事后实际用户导航的位置?
它Registered OAuth Callback URL是在开发应用程序时编写的URL
http://dev.twitter.com/apps/{id_no}
要么
它是我们的PHP代码(config.php)中定义的URL
define('OAUTH_CALLBACK', 'http://www.xyz.com');
我根据你的建议在下面做了
$user_info = $connection->get('account/verify_credentials');
$status_info =$connection->get('statuses/show/', array('id' =>32320907720523776) );
echo "<pre>";
print_r($status_info);
echo "</pre> Content : <pre>";
print_r($user_info);
Run Code Online (Sandbox Code Playgroud)
返回下面
stdClass Object
(
[request] => /1/statuses/show.json?id=3.2320907720524E%2B16&oauth_consumer_key=jashak..&oauth_nonce=bec...&oauth_signature=%2FMj%2B0Z7oyYNKdMn%2B%2FOJ6Ba8ccfo%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1296541384&oauth_token=223961574-cW4...&oauth_version=1.0a
[error] => No status found with that ID.
)
Run Code Online (Sandbox Code Playgroud)
注意:我隐藏oauth_consumer key,oauth_nonce并且oauth_token出于安全目的;)
Content:
stdClass Object
(
[follow_request_sent] =>
[profile_link_color] => 038543
[profile_image_url] => http://a3.twimg.com/profile_images/1215444646/minialist-photography-9_normal.jpg
[contributors_enabled] =>
[favourites_count] => 31
[profile_sidebar_border_color] => EEEEEE
[id_str] => 223961574 // this is also id_str
[status] => stdClass Object
(
[retweeted] =>
[id_str] => 32320907720523776 // this id_str i used
[in_reply_to_status_id_str] =>
[geo] =>
[contributors] =>
[source] => Black Noise
[in_reply_to_user_id_str] =>
[retweet_count] => 0
[truncated] =>
[coordinates] =>
[created_at] => Tue Feb 01 06:14:39 +0000 2011
[favorited] =>
[text] => Twitter test: verify that status has been updated
[place] =>
[in_reply_to_screen_name] =>
[in_reply_to_status_id] =>
[id] => 3.2320907720524E+16
[in_reply_to_user_id] =>
)
[screen_name] => ltweetl
[profile_use_background_image] => 1
....
...
Run Code Online (Sandbox Code Playgroud)
我有错误No status found with that ID,你id_str提到哪?
这个答案并不是专门针对 Abraham 的 Twitter-OAuth API,而是普遍适用于 Twitter 的 OAuth API。
该页面仅向您提供您自己的应用程序的访问令牌和访问令牌秘密。如果您不需要您的应用程序像任何其他用户一样进行身份验证,那么不需要请求请求令牌,也不需要将请求令牌交换为访问令牌,您只需使用您的访问令牌即可
但是,如果您想以其他用户身份进行身份验证,则必须执行所有必需的步骤,此处简要说明:
http://api.twitter.com/oauth/authorize?oauth_token=后跟 OAuth 令牌。您可以根据需要保留访问令牌。如果您不保留访问令牌,则需要再次请求请求令牌并将其交换为访问令牌,并且您的用户将必须重新登录。
所以基本上,如果您正在创建用户需要使用 Twitter 登录的内容,您需要执行上述所有步骤来让用户登录。如果您只是自己使用 Twitter 的 API,则不需要身份验证步。使用您的访问令牌。
您可以通过检查返回的响应中的密钥来检查推文的 ID 。id_str
如果未发布状态,Twitter 将返回一个错误对象。
您可以在应用程序设置页面中指定默认的OAuth 回调,当您未明确指定回调时将使用该回调。
这是必需的,因为如果您忘记或没有指定回调 URL,Twitter 仍然知道将您的用户重定向到哪里。
但是,Twitter 鼓励您明确指定回调 URL。使用回调 URL 有很多好处,例如能够指定任何 URL 作为回调。我曾经受益于这一点,因为我的 Twitter 客户端运行在两个不同的域上,我可以将用户重定向回正确的位置。
| 归档时间: |
|
| 查看次数: |
1592 次 |
| 最近记录: |