


Introduction to Sina Weibo API Development - User Authorization (PHP Basics)_PHP Tutorial
Nowadays, more and more people are playing Weibo, and there are more and more third-party application developments for Weibo. I accidentally came into contact with Sina Weibo API development and Sina Weibo API development resources. There are many. Sina Weibo provides a platform for developers. The website address is: http://open.weibo.com. It contains comprehensive information on Sina Weibo development, including developers’ Use and introduction, API function introduction documents in various languages, SDK and other materials.
In the process of development and learning, I feel that although it is not too difficult, there are still some issues that need our attention. Today, in the process of development and learning, I simply used PHP to conduct Sina Weibo The content of API development is organized and explained,
Preparatory work before Sina Weibo API development
First go to Sina Weibo Open Platform to download the PHP-based SDK development package. The download address is: http://code.google.com/p/libweibo/downloads/detail?name=weibo-oauth-class -with-image-avatar-06-29.zip
After downloading, place it in your own development environment and unzip it. It also contains a demo program. We can refer to its sample program to write.
The most important user authorization process in Sina Weibo API development
In fact, many problems during the development process focus on the user authorization stage. The third-party applications I developed use OAuth authorization. The OAuth authorization process is very clear and complete in the Sina Weibo open platform. For introduction, we can go to http://open.weibo.com/wiki/Oauth to view it. I will introduce and explain it here from the perspective of example development.
1. First obtain the unauthorized Request Token
-
<span><span>$</span><span class="attribute">o</span><span> = </span><span class="attribute-value">new</span><span> WeiboOAuth( WB_AKEY , WB_SKEY ); </span></span>
- $keys = $o->getRequestToken();
- //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
We need to register an account in the Sina Weibo open platform, or log in directly with our Sina Weibo account, enter My Applications, and then follow the prompts to create our own third-party application. After the creation is completed, we can get Two authorized App Key and App Secret values, these two values are the key to our application development.
After getting the authorization value, we can use the above code to obtain the unauthorized Request Token value, and they will be stored in the $key array variable.
2. Then request the user to authorize Token
-
<span><span>$_SESSION['keys'] = $keys; </span></span>
- aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/ callback.php');
After getting the unauthorized Request Token value, we can use the above code to start preparing to go to the Sina Weibo authorization page for authorization. $aurl is the authorization link page. After we get $aurl, we can use header() to jump directly Go to the authorization page, and then the user enters the Sina Weibo account and password for authorization. After the authorization is completed, it will automatically jump back to the callback page you set in the last parameter: http://localhost/callback.php. You can use this link Set it to the previous page so that it will automatically jump back after the authorization is completed.
It should be noted that it is necessary to set the value of session keys, which is needed to obtain the authorized Access Token below. Many friends may refer to the instructions on the open platform for authorization, but they will find that errors always occur. This is usually the problem. You have not set the session keys value. Of course, you cannot get the Access Token value below. This must be remembered.
3. Finally obtain the Access Token authorized by the user
-
<span><span> $</span><span class="attribute">o</span><span> = </span><span class="attribute-value">new</span><span> WeiboOAuth( WB_AKEY , </span></span>
- WB_SKEY ,
- $_SESSION['keys']['oauth_token'] ,
- $_SESSION['keys']['oauth_token_secret'] );
- $last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
- echo($last_key['oauth_token']);
上面的代码就最终获得了用户授权的Access Token,共两个值,它们保存在$last_key数组变量里面,我们也可以看到,后面的两个参数就是前面我们设置的session值。到此就基本完成了,这就是新浪微博用户授权的一个完整的过程。
授权完成后的工作
在授权完成之后,我们就可以开始调用新浪微博提供的各类API函数接口进行实际应用的开发了,在这里我就获取最新微博记录这个接口进行一个简单说明,其他都类似。
获取最新新浪微博信息的API接口函数是:public_timeline(),样例代码看下面:
-
<span><span class="comment">//获取前20条最新更新的公共微博消息 </span><span> </span></span>
- $c = new WeiboClient( WB_AKEY ,
- WB_SKEY ,
- $oauth_token ,
- $oauth_token_secret );
- $msg = $c->public_timeline();
- if ($msg === false || $msg === null){
- echo "Error occured";
- return false;
- }
- if (isset($msg['error_code']) && isset($msg['error'])){
- echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] );
- return false;
- }
- print_r($msg);
通常我们在得到用户授权的Access Token值之后,就把它们保存在我们的用户表中,与我们的应用中的帐号进行对应,之后我们在调用新浪微博各api接口时就不用每次都去认证了。
上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline就可以得到返回的信息,如果没有错误的话。通常新浪微博api接口返回的数据格式一般为Json格式或xml格式,而我们在此是用php进行开发,则使用Json格式的数据就有先天的优势,如果返回Json格式数据的话,直接使用php函数json_decode()就可以转换为php常用的array数组格式了。

PHP remains a powerful and widely used tool in modern programming, especially in the field of web development. 1) PHP is easy to use and seamlessly integrated with databases, and is the first choice for many developers. 2) It supports dynamic content generation and object-oriented programming, suitable for quickly creating and maintaining websites. 3) PHP's performance can be improved by caching and optimizing database queries, and its extensive community and rich ecosystem make it still important in today's technology stack.

In PHP, weak references are implemented through the WeakReference class and will not prevent the garbage collector from reclaiming objects. Weak references are suitable for scenarios such as caching systems and event listeners. It should be noted that it cannot guarantee the survival of objects and that garbage collection may be delayed.

The \_\_invoke method allows objects to be called like functions. 1. Define the \_\_invoke method so that the object can be called. 2. When using the $obj(...) syntax, PHP will execute the \_\_invoke method. 3. Suitable for scenarios such as logging and calculator, improving code flexibility and readability.

Fibers was introduced in PHP8.1, improving concurrent processing capabilities. 1) Fibers is a lightweight concurrency model similar to coroutines. 2) They allow developers to manually control the execution flow of tasks and are suitable for handling I/O-intensive tasks. 3) Using Fibers can write more efficient and responsive code.

The PHP community provides rich resources and support to help developers grow. 1) Resources include official documentation, tutorials, blogs and open source projects such as Laravel and Symfony. 2) Support can be obtained through StackOverflow, Reddit and Slack channels. 3) Development trends can be learned by following RFC. 4) Integration into the community can be achieved through active participation, contribution to code and learning sharing.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP is not dying, but constantly adapting and evolving. 1) PHP has undergone multiple version iterations since 1994 to adapt to new technology trends. 2) It is currently widely used in e-commerce, content management systems and other fields. 3) PHP8 introduces JIT compiler and other functions to improve performance and modernization. 4) Use OPcache and follow PSR-12 standards to optimize performance and code quality.

The future of PHP will be achieved by adapting to new technology trends and introducing innovative features: 1) Adapting to cloud computing, containerization and microservice architectures, supporting Docker and Kubernetes; 2) introducing JIT compilers and enumeration types to improve performance and data processing efficiency; 3) Continuously optimize performance and promote best practices.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version
Chinese version, very easy to use

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function