新浪微博API开发简介之用户授权(PHP基础篇)_php实例
现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Da sich Webanwendungen ständig weiterentwickeln und verändern, ist die Handhabung paralleler und asynchroner Anfragen zu einem wichtigen Thema bei der PHP-Backend-API-Entwicklung geworden. In herkömmlichen PHP-Anwendungen werden Anfragen synchron ausgeführt, das heißt, eine Anfrage wartet, bis eine Antwort empfangen wird, was sich auf die Antwortgeschwindigkeit und Leistung der Anwendung auswirkt. Allerdings ist PHP jetzt in der Lage, parallele und asynchrone Anfragen zu verarbeiten. Diese Funktionen ermöglichen es uns, eine große Anzahl gleichzeitiger Anfragen besser zu verarbeiten und die Antwortgeschwindigkeit und Leistung der Anwendung zu verbessern. In diesem Artikel wird der Umgang mit der PHP-Backend-API-Entwicklung erläutert

Mit der kontinuierlichen Weiterentwicklung der Java-Technologie ist JavaAPI zu einer der Mainstream-Lösungen geworden, die von vielen Unternehmen entwickelt werden. Während des Entwicklungsprozesses der Java-API muss häufig eine große Anzahl von Anforderungen und Daten verarbeitet werden, die herkömmliche synchrone Verarbeitungsmethode kann jedoch die Anforderungen einer hohen Parallelität und eines hohen Durchsatzes nicht erfüllen. Daher ist die asynchrone Verarbeitung zu einer der wichtigen Lösungen in der Java-API-Entwicklung geworden. In diesem Artikel werden die in der Java-API-Entwicklung häufig verwendeten asynchronen Verarbeitungslösungen und deren Verwendung vorgestellt. 1. Java-Unterschiede

Mit der rasanten Entwicklung des Internets übernehmen immer mehr Anwendungen die Webarchitektur, und PHP als eine in der Webentwicklung weit verbreitete Skriptsprache hat ebenfalls zunehmende Aufmerksamkeit und Anwendung gefunden. Mit der kontinuierlichen Weiterentwicklung und Ausweitung des Geschäfts wurden die Leistungsprobleme von PHPWeb-Anwendungen nach und nach aufgedeckt. Die Durchführung der Leistungsoptimierung ist zu einer wichtigen Herausforderung geworden, der sich PHPWeb-Entwickler stellen müssen. Als Nächstes werden in diesem Artikel Techniken zur Leistungsoptimierung in der PHP-Back-End-API-Entwicklung vorgestellt, um PHP-Entwicklern besser zu helfen

API-Entwicklung mit GraphQL in Beego GraphQL ist eine von Facebook entwickelte moderne API-Abfragesprache, die eine effizientere und flexiblere Möglichkeit zum Erstellen von APIs bietet. Im Gegensatz zur herkömmlichen RESTful-API ermöglicht GraphQL dem Client, die benötigten Daten zu definieren, und der Server gibt nur die vom Client angeforderten Daten zurück, wodurch unnötige Datenübertragungen reduziert werden. Beego ist ein in der Go-Sprache geschriebenes Open-Source-Webframework, das eine Reihe von Tools bereitstellt

Wie erstelle ich einen Gruppenchat in der Sina Weibo-App? Die Sina Weibo-App ist eine Software, mit der Benutzer hier einander folgen und private Nachrichten an andere Benutzer senden können. Darüber hinaus können Benutzer mit dieser Software Kontakte knüpfen Benutzer können Gruppenchats erstellen und dann chatten. Der folgende Editor hat als Referenz Methoden zum Erstellen von Gruppenchats zusammengestellt. So erstellen Sie einen Gruppenchat in der Sina Weibo-App: 1. Öffnen Sie zunächst die Software, suchen Sie die Option „Zahnrad“ in der oberen rechten Ecke der „Nachricht“-Oberfläche und klicken Sie darauf. 2. Klicken Sie dann auf das Popup-Optionsfeld

Die beste domänenübergreifende Strategie und Implementierung in der PHP-API-Entwicklung Mit dem Aufkommen der RESTful API wurde PHP als Back-End-Entwicklungssprache auch in vielen Webanwendungen weit verbreitet. Bei der Entwicklung einer RESTful-API müssen häufig Probleme beim domänenübergreifenden Zugriff berücksichtigt werden. In diesem Artikel werden die besten domänenübergreifenden Strategien bei der PHP-API-Entwicklung und deren Implementierung erläutert. Domänenübergreifend (Cross-OriginResourceSharing) bezieht sich auf ein Dokument oder Skript in einer Domäne, das versucht, ein anderes anzufordern

Mit der rasanten Entwicklung des Internets erfordern immer mehr Geschäftsanforderungen den Datenaustausch über das Netzwerk, wobei API als Vermittler für die Datenübertragung eine wichtige Rolle spielt. Bei der PHP-Back-End-API-Entwicklung ist das Skalierbarkeitsdesign ein sehr wichtiger Aspekt, der das System anpassungsfähiger und skalierbarer machen und die Robustheit und Stabilität des Systems verbessern kann. 1. Was ist Skalierbarkeitsdesign? Skalierbarkeit bedeutet, dass eine bestimmte Funktion des Systems zusätzliche Funktionen hinzufügen kann, um Geschäftsanforderungen zu erfüllen, ohne die ursprüngliche Leistung des Systems zu beeinträchtigen. existieren

Mit der kontinuierlichen Entwicklung von Internetanwendungen ist die Bedeutung von WebAPI immer beliebter geworden. PHP als beliebte Backend-Sprache kann zum Erstellen von WebAPIs verwendet werden. In Zeiten von hohem Datenverkehr und hohem gleichzeitigem Zugriff, wenn ein Server dem Druck jedoch nicht standhalten kann, kann der Lastausgleich jedoch eine effektive Lösung sein. Beim Lastausgleich handelt es sich um eine Technik, die Anfragen auf mehrere Server verteilt und so die Skalierbarkeit, Zuverlässigkeit und Leistung von Anwendungen verbessert. In diesem Artikel behandeln wir einige Grundlagen zum Umgang mit mehreren Knoten und zum Lastausgleich
