Maison php教程 php手册 新浪微博API开发简介之用户授权(PHP基础篇)

新浪微博API开发简介之用户授权(PHP基础篇)

Jun 06, 2016 pm 08:38 PM
api开发 新浪微博

己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明

现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开发者的使用和介绍,各种语言的API函数介绍文档,SDK等多种资料。

自己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明,

新浪微博API开发前的准备工作

首先到新浪微博开放平台下载基于PHP的SDK开发包,下载地址是:http://code.google.com/p/libweibo/downloads/detail?name=weibo-oauth-class-with-image-avatar-06-29.zip

下载完成后放到自己的开发环境中并解压,在其中也包含了demo演示程序,我们可以参考其样例程序进行编写。

新浪微博API开发最重要的用户授权过程

其实在开发过程中很多的问题都是集中在用户授权这个阶段,我开发的第三方应用,使用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很清晰完整的介绍,我们可以到http://open.weibo.com/wiki/Oauth去查看,我这里从实例开发的角度进行介绍和说明。

1.首先获取未授权的Request Token
代码如下:
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

我们需要在新浪微博开放平台中注册一个帐号,或直接使用我们的新浪微博帐号登录,进入我的应用,然后按照提示创建属于我们自己的第三方应用,创建完成之后我们可以得到两个授权的App Key和App Secret值,这两个值就是我们开发应用的关键。
得到授权值后,我们就可以利用上面的代码获得未授权的Request Token值了,它们会保存在$key数组变量中。
2.然后请求用户授权Token
代码如下:
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

得到未授权的Request Token值后,我们就利用上面的代码可以开始准备去新浪微博授权页面进行授权,$aurl就是授权链接页面,我们得到$aurl后就可以利用header()直接跳转到该授权页面,然后用户输入新浪微博帐号和密码进行授权,授权完成后,自动跳回你在最后一个参数里面设置的回调页面:http://localhost/callback.php,该链接你可以设置为上一个页面,这样授权完成之后就会自动又跳转回去了。
需要注意的是设置session的keys的值是必须的,它在下面获取到授权的Access Token中是需要用到的。很多的朋友可能会参考其开放平台上面的说明来进行授权时,可发现总是出错,一般都是这个问题,你并未设置session的keys值,在下面当然取不到Access Token的值了,这个一定要记住了。
3.最后得到用户授权的Access Token
代码如下:
$o = new WeiboOAuth( WB_AKEY ,
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(),样例代码看下面:
代码如下:
//获取前20条最新更新的公共微博消息
$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数组格式了。
来源:红心草博客
原文地址:http://www.hongxincao.com/archives/579.html
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment gérer les requêtes parallèles et asynchrones dans le développement d'API backend PHP Comment gérer les requêtes parallèles et asynchrones dans le développement d'API backend PHP Jun 17, 2023 pm 04:22 PM

À mesure que les applications Web continuent de se développer et de changer, la gestion des requêtes parallèles et asynchrones est devenue un sujet important dans le développement d'API backend PHP. Dans les applications PHP traditionnelles, les requêtes sont exécutées de manière synchrone, c'est-à-dire qu'une requête attendra jusqu'à ce qu'une réponse soit reçue, ce qui affectera la vitesse de réponse et les performances de l'application. Cependant, PHP a désormais la capacité de traiter des requêtes parallèles et asynchrones. Ces fonctionnalités nous permettent de mieux gérer un grand nombre de requêtes simultanées et d'améliorer la vitesse de réponse et les performances de l'application. Cet article explique comment gérer le développement d'API backend PHP.

Solutions de traitement asynchrone dans le développement d'API Java Solutions de traitement asynchrone dans le développement d'API Java Jun 18, 2023 am 10:11 AM

Avec le développement continu de la technologie Java, JavaAPI est devenue l'une des solutions principales développées par de nombreuses entreprises. Au cours du processus de développement de l'API Java, un grand nombre de requêtes et de données doivent souvent être traitées, mais la méthode de traitement synchrone traditionnelle ne peut pas répondre aux besoins d'une concurrence élevée et d'un débit élevé. Par conséquent, le traitement asynchrone est devenu l’une des solutions importantes dans le développement d’API Java. Cet article présentera les solutions de traitement asynchrone couramment utilisées dans le développement d'API Java et comment les utiliser. 1. Différences Java

Comment créer une discussion de groupe sur l'application Sina Weibo Comment créer une discussion de groupe sur l'application Sina Weibo Comment créer une discussion de groupe sur l'application Sina Weibo Comment créer une discussion de groupe sur l'application Sina Weibo Mar 14, 2024 pm 09:31 PM

Comment créer une discussion de groupe sur l'application Sina Weibo ? L'application Sina Weibo est un logiciel qui permet aux utilisateurs de socialiser sur ce logiciel. Les utilisateurs peuvent se suivre ici et envoyer des messages privés à d'autres utilisateurs ici. utilisateurs pour créer des discussions de groupe, puis discuter. De nombreux utilisateurs ne savent toujours pas comment créer une discussion de groupe. L'éditeur ci-dessous a compilé des méthodes pour créer des discussions de groupe pour votre référence. Comment créer une discussion de groupe sur l'application Sina Weibo 1. Tout d'abord, ouvrez le logiciel, recherchez et cliquez sur l'option « Gear » dans le coin supérieur droit de l'interface « Message » ;

Compétences en matière d'optimisation des performances dans le développement d'API backend PHP Compétences en matière d'optimisation des performances dans le développement d'API backend PHP Jun 17, 2023 am 09:16 AM

Avec le développement rapide d'Internet, de plus en plus d'applications adoptent l'architecture Web, et PHP, en tant que langage de script largement utilisé dans le développement Web, fait également l'objet d'une attention et d'une application croissantes. Avec le développement et l'expansion continus de l'activité, les problèmes de performances des applications PHPWeb ont progressivement été révélés. La manière d'effectuer le réglage des performances est devenue un défi important auquel les développeurs PHPWeb doivent faire face. Ensuite, cet article présentera les techniques d'optimisation des performances dans le développement d'API back-end PHP pour mieux aider les développeurs PHP.

Conception d'évolutivité dans le développement d'API backend PHP Conception d'évolutivité dans le développement d'API backend PHP Jun 17, 2023 am 11:28 AM

Avec le développement rapide d'Internet, les besoins des entreprises nécessitent de plus en plus d'échange de données via le réseau, dans lequel l'API joue un rôle essentiel en tant qu'intermédiaire pour la transmission des données. Dans le développement d'API back-end PHP, la conception d'évolutivité est un aspect très important, qui peut rendre le système plus adaptable et évolutif, et améliorer la robustesse et la stabilité du système. 1. Qu'est-ce que la conception évolutive ? L'évolutivité signifie qu'une certaine fonction du système peut ajouter des fonctions supplémentaires pour répondre aux besoins de l'entreprise sans affecter les performances d'origine du système. exister

Meilleures stratégies et implémentations inter-domaines dans le développement d'API PHP Meilleures stratégies et implémentations inter-domaines dans le développement d'API PHP Jun 17, 2023 am 11:07 AM

La meilleure stratégie et implémentation inter-domaines dans le développement d'API PHP Avec l'essor de l'API RESTful, PHP, en tant que langage de développement back-end, a également été largement utilisé dans de nombreuses applications Web. Lors du développement de RESTfulAPI, les problèmes d'accès entre domaines doivent souvent être pris en compte. Cet article discutera des meilleures stratégies inter-domaines dans le développement d'API PHP et de la manière de les mettre en œuvre. Cross-domain (Cross-OriginResourceSharing) fait référence à un document ou à un script dans un domaine essayant d'en demander un autre.

Utiliser GraphQL pour le développement d'API dans Beego Utiliser GraphQL pour le développement d'API dans Beego Jun 23, 2023 am 11:36 AM

Développement d'API avec GraphQL dans Beego GraphQL est un langage de requête API moderne développé par Facebook qui offre un moyen plus efficace et flexible de créer des API. Différent de l'API RESTful traditionnelle, GraphQL permet au client de définir les données dont il a besoin, et le serveur renvoie uniquement les données demandées par le client, réduisant ainsi la transmission de données inutiles. Beego est un framework web open source écrit en langage Go, qui fournit une série d'outils

Meilleures pratiques de validation d'entrée et de sortie dans le développement d'API PHP Meilleures pratiques de validation d'entrée et de sortie dans le développement d'API PHP Jun 17, 2023 pm 07:44 PM

Dans le développement PHPAPI, la vérification des entrées et des sorties est une étape très importante et essentielle. Une bonne compréhension et une mise en œuvre stricte de la validation des entrées et des sorties peuvent nous aider à réduire de nombreux problèmes potentiels, à prévenir les vulnérabilités et les erreurs de sécurité, et également à améliorer la qualité et la fiabilité des applications. Voici les meilleures pratiques de validation d’entrée et de sortie dans le développement d’API PHP. Validation des entrées Lors du développement d'API, nous devons toujours suivre le principe selon lequel « une bonne entrée peut produire un bon résultat ». Par conséquent, la validation des entrées est une partie très importante. Ce qui suit est

See all articles