
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(調用新浪微博開(kāi)放平臺API開(kāi)發(fā)自己的微博應用(App))
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 74 次瀏覽 ? 2022-01-12 22:14
新浪微博開(kāi)放平臺雖然提供多種語(yǔ)言的開(kāi)發(fā)SDK下載,但也有一些基本接口調用的demo和接口說(shuō)明文檔。但是經(jīng)過(guò)幾天的耐心嘗試,感覺(jué)新浪微博開(kāi)放平臺上的入門(mén)指南和下載的Java開(kāi)發(fā)包weibo4j包中的demo用法注釋有些不一致。再加上自身領(lǐng)悟能力有限,遇到了不少難題。幸運的是,我沒(méi)有放棄嘗試理解它。廢話(huà)不多說(shuō),這是我的學(xué)習過(guò)程。
如果你想通過(guò)調用新浪微博開(kāi)放平臺API來(lái)開(kāi)發(fā)自己的微博應用,第一步就是要有一個(gè)新浪微博賬號和一個(gè)CSDN賬號,因為我們需要同時(shí)用這兩個(gè)賬號創(chuàng )建一個(gè)微博應用,從而獲得App key和CSDN賬號。密鑰 。App key 和 Secret key 有什么用?
其實(shí)我只是看了新浪微博開(kāi)放平臺上的一系列說(shuō)明,對App key和Secret key的使用并不是很了解。因為更重要的一點(diǎn)是要了解OAuth認證授權的整個(gè)過(guò)程,以及幾個(gè)Token和4個(gè)URL在整個(gè)OAuth認證授權過(guò)程中的作用。
當我第一次遇到完全沒(méi)有概念的 OAuth 時(shí),我認為它是不可能學(xué)習的。幸運的是,我找到了下面的文章,對理解OAuth很有幫助。鏈接如下:
OAuth 中共有三個(gè)參與者,即用戶(hù)、服務(wù)提供者和消費者。假設我想開(kāi)發(fā)一個(gè)基于新浪微博開(kāi)放平臺的應用程序(App),供其他新浪微博用戶(hù)使用。它們的對應關(guān)系如下:
實(shí)際上,我們的App相當于User和Provider(新浪微博平臺)的第三方應用。作為第三方App,要想訪(fǎng)問(wèn)用戶(hù)存儲在新浪微博平臺的資源,必須經(jīng)過(guò)一系列的認證和授權后才能工作。
下面是根據我對整個(gè)OAuth認證授權過(guò)程的理解繪制的圖(可以看略過(guò),對以下一些概念有一定了解后再看這個(gè)流程圖):
結合上面的流程圖,下面是我對這些術(shù)語(yǔ)的理解和對各個(gè)流程的描述:
Consumer key和Consumer Secret:在新浪微博開(kāi)放平臺上分別稱(chēng)為App key和Secret key。Consumer 向 Provider 申請能夠調用其開(kāi)放的 API。申請通過(guò)后,Provider將其分配給滿(mǎn)足其要求的Consumer,以唯一標識滿(mǎn)足Provider要求的Consumer。
對應上圖中的流1和2。
Request Token,Request Secret:當User訪(fǎng)問(wèn)Consumer,想要獲取其特殊服務(wù)時(shí),該服務(wù)由Consumer整合存儲在Provider中的User自己的資源后返回。此時(shí),Consumer 向 Provider 請求獲取一個(gè) Requst Token,用于唯一標識 Consumer 和 User 之間的具體關(guān)聯(lián)。
對應上圖中的流程3、4、5。
在流程6中,Consumer必須將User引導到Provider提供的OAuth認證授權頁(yè)面。實(shí)際上,瀏覽器會(huì )重定向到附加了 Request Token 和 Request Secret 參數的 authenticationURL。URL 由 Provider 提供。
接下來(lái)在流程7和流程8中,User授權Consumer(一般是輸入賬號和密碼登錄),然后Provider會(huì )重定向到流程1中Consumer提供的Callback_URL,并附加OAuth Token和OAuth URL 參數的驗證程序。.
流程9,Consumer通過(guò)之前已經(jīng)從Provider獲取的Request Token,再次請求Provider獲取Access Token。
Access Token和Access Secret:如果Provider在流程10中返回了一個(gè)未經(jīng)User授權的Access Token,用于唯一標識特定的Consumer可以訪(fǎng)問(wèn)某個(gè)User存儲在Provider中的資源和信息。然后Consumer就可以開(kāi)始使用獲取到的Access Token和Access Secret來(lái)訪(fǎng)問(wèn)對應User存儲在Provider中的資源。
在流程11中對用戶(hù)信息進(jìn)行整合和操作后,可以將具體的服務(wù)結果返回給用戶(hù)。
通過(guò)以上對OAuth流程的了解,我們知道User并沒(méi)有將登錄Provider所需的賬號、密碼等泄露給第三方Consumer。同時(shí),用戶(hù)可以使用消費者的特殊服務(wù)。多么巧妙又安全的操作過(guò)程!
另外,上圖中,Consumer向Provider發(fā)出了三個(gè)不同的請求,實(shí)際上就是Provider提供了三個(gè)不同功能的URL供Consumer訪(fǎng)問(wèn)。新浪微博開(kāi)放平臺三個(gè)網(wǎng)址截圖如下:
使用OAuth在新浪微博開(kāi)放平臺驗證和發(fā)布微博
使用新浪微博開(kāi)放平臺的API,首先要獲取新浪分配的App key和App Secret。以下是我創(chuàng )建應用后新浪分配的App key和App Secret(這個(gè)要保密)。
然后下載微博SDK,我用的是Java的weibo4j。
將SDK包中Weibo.java類(lèi)的App Key和App Secret修改為剛剛獲取的App Key和App Secret,如下所示:
完成這些后,就可以根據提供的Demo開(kāi)始編寫(xiě)代碼了。如下:
WebOAuth.java用于初始化Weibo.java類(lèi)所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法獲取Request Token和Access Token。所需的參數顯示在代碼中。此外,還提供了一種發(fā)布文本微博的方法update()。
package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式認證 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 準備好Consumer Key、Consumer Secret // 對應于新浪微博應用就是申請到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根據傳入的 callback_url 獲取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并獲得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("獲取Request token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 request token 和 verifier 獲取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("獲取Access token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 Access Token 和內容發(fā)表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功發(fā)表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博內容轉編碼發(fā)生異常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println(來(lái)源gaodai.ma#com搞#代!碼網(wǎng)"發(fā)表微博發(fā)生異常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(這里我們自定義為下文中的callback.jsp),當獲取得到RequestToken之后,保存該RequestToken到Session中,并將頁(yè)面重定向到callback.jsp進(jìn)行驗證、授權。 請點(diǎn)擊進(jìn)行Web方式的OAuth認證!
callback.jsp,在上一步重定向后,會(huì )在callback_url后面附加oauth_verifier參數。這時(shí)候我們根據Session中保存的RequestToken和獲取到的oauth_verifier參數申請AccessToken。獲取到AccessToken后,我們將頁(yè)面重定向到writeWeibo.html,即寫(xiě)微博的頁(yè)面。
writeWeibo.html,很簡(jiǎn)單的HTML文件。 發(fā)布sina微博 請在這里寫(xiě)上140字符以?xún)鹊奈谋荆?lt;/br>測試新浪微博!</br></br> updateWeibo.jsp,用于發(fā)表文本微博,即調用WebOAuth.java 中的update方法。
運行前我們要準備好Tomcat,把上面的源文件放到正確的目錄下。另外SDK包中的commons-httpclient-3.1.jar包也要加到\WEB-INF\lib目錄下,還有我編譯打包的weibo4j.jar(里面是新浪微博開(kāi)放平臺中具體的Java實(shí)現)。
運行Tomcat,在瀏覽器中訪(fǎng)問(wèn)request.jsp頁(yè)面,如下圖:
點(diǎn)擊鏈接,如下圖(注意地址欄的變化):
地址欄中的網(wǎng)址如下:
://localhost:8080/sinaweibo/callback.jsp
填寫(xiě)具體有效的新浪微博賬號、密碼和授權。以下是我用于測試和授權的微博賬號填寫(xiě)的結果:
地址欄中的網(wǎng)址如下:
:8080/sinaweibo/writeWeibo.html
點(diǎn)擊“發(fā)布”,如下圖:
登錄微博查看,如下圖:
查看此帳戶(hù)授權的應用列表:
至此,利用新浪微博開(kāi)放平臺發(fā)布關(guān)于OAuth方式的微博大概就是這個(gè)過(guò)程了。
概括:
1、其實(shí)還有很多細節我沒(méi)有講到。我也嘗試了很多次,找到問(wèn)題,理解問(wèn)題,然后解決問(wèn)題;
2、如果我們登錄新浪微博的賬號信息的cookie已經(jīng)保存在瀏覽器中,那么授權時(shí)不需要輸入賬號信息,當然也可以不使用當前賬號進(jìn)行修改授權;
3、還有一些信息是在控制臺輸入的,比如Token、URL、服務(wù)器返回信息,截圖中沒(méi)有給出。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(調用新浪微博開(kāi)放平臺API開(kāi)發(fā)自己的微博應用(App))
新浪微博開(kāi)放平臺雖然提供多種語(yǔ)言的開(kāi)發(fā)SDK下載,但也有一些基本接口調用的demo和接口說(shuō)明文檔。但是經(jīng)過(guò)幾天的耐心嘗試,感覺(jué)新浪微博開(kāi)放平臺上的入門(mén)指南和下載的Java開(kāi)發(fā)包weibo4j包中的demo用法注釋有些不一致。再加上自身領(lǐng)悟能力有限,遇到了不少難題。幸運的是,我沒(méi)有放棄嘗試理解它。廢話(huà)不多說(shuō),這是我的學(xué)習過(guò)程。
如果你想通過(guò)調用新浪微博開(kāi)放平臺API來(lái)開(kāi)發(fā)自己的微博應用,第一步就是要有一個(gè)新浪微博賬號和一個(gè)CSDN賬號,因為我們需要同時(shí)用這兩個(gè)賬號創(chuàng )建一個(gè)微博應用,從而獲得App key和CSDN賬號。密鑰 。App key 和 Secret key 有什么用?
其實(shí)我只是看了新浪微博開(kāi)放平臺上的一系列說(shuō)明,對App key和Secret key的使用并不是很了解。因為更重要的一點(diǎn)是要了解OAuth認證授權的整個(gè)過(guò)程,以及幾個(gè)Token和4個(gè)URL在整個(gè)OAuth認證授權過(guò)程中的作用。
當我第一次遇到完全沒(méi)有概念的 OAuth 時(shí),我認為它是不可能學(xué)習的。幸運的是,我找到了下面的文章,對理解OAuth很有幫助。鏈接如下:
OAuth 中共有三個(gè)參與者,即用戶(hù)、服務(wù)提供者和消費者。假設我想開(kāi)發(fā)一個(gè)基于新浪微博開(kāi)放平臺的應用程序(App),供其他新浪微博用戶(hù)使用。它們的對應關(guān)系如下:
實(shí)際上,我們的App相當于User和Provider(新浪微博平臺)的第三方應用。作為第三方App,要想訪(fǎng)問(wèn)用戶(hù)存儲在新浪微博平臺的資源,必須經(jīng)過(guò)一系列的認證和授權后才能工作。
下面是根據我對整個(gè)OAuth認證授權過(guò)程的理解繪制的圖(可以看略過(guò),對以下一些概念有一定了解后再看這個(gè)流程圖):
結合上面的流程圖,下面是我對這些術(shù)語(yǔ)的理解和對各個(gè)流程的描述:
Consumer key和Consumer Secret:在新浪微博開(kāi)放平臺上分別稱(chēng)為App key和Secret key。Consumer 向 Provider 申請能夠調用其開(kāi)放的 API。申請通過(guò)后,Provider將其分配給滿(mǎn)足其要求的Consumer,以唯一標識滿(mǎn)足Provider要求的Consumer。
對應上圖中的流1和2。
Request Token,Request Secret:當User訪(fǎng)問(wèn)Consumer,想要獲取其特殊服務(wù)時(shí),該服務(wù)由Consumer整合存儲在Provider中的User自己的資源后返回。此時(shí),Consumer 向 Provider 請求獲取一個(gè) Requst Token,用于唯一標識 Consumer 和 User 之間的具體關(guān)聯(lián)。
對應上圖中的流程3、4、5。
在流程6中,Consumer必須將User引導到Provider提供的OAuth認證授權頁(yè)面。實(shí)際上,瀏覽器會(huì )重定向到附加了 Request Token 和 Request Secret 參數的 authenticationURL。URL 由 Provider 提供。
接下來(lái)在流程7和流程8中,User授權Consumer(一般是輸入賬號和密碼登錄),然后Provider會(huì )重定向到流程1中Consumer提供的Callback_URL,并附加OAuth Token和OAuth URL 參數的驗證程序。.
流程9,Consumer通過(guò)之前已經(jīng)從Provider獲取的Request Token,再次請求Provider獲取Access Token。
Access Token和Access Secret:如果Provider在流程10中返回了一個(gè)未經(jīng)User授權的Access Token,用于唯一標識特定的Consumer可以訪(fǎng)問(wèn)某個(gè)User存儲在Provider中的資源和信息。然后Consumer就可以開(kāi)始使用獲取到的Access Token和Access Secret來(lái)訪(fǎng)問(wèn)對應User存儲在Provider中的資源。
在流程11中對用戶(hù)信息進(jìn)行整合和操作后,可以將具體的服務(wù)結果返回給用戶(hù)。
通過(guò)以上對OAuth流程的了解,我們知道User并沒(méi)有將登錄Provider所需的賬號、密碼等泄露給第三方Consumer。同時(shí),用戶(hù)可以使用消費者的特殊服務(wù)。多么巧妙又安全的操作過(guò)程!
另外,上圖中,Consumer向Provider發(fā)出了三個(gè)不同的請求,實(shí)際上就是Provider提供了三個(gè)不同功能的URL供Consumer訪(fǎng)問(wèn)。新浪微博開(kāi)放平臺三個(gè)網(wǎng)址截圖如下:
使用OAuth在新浪微博開(kāi)放平臺驗證和發(fā)布微博
使用新浪微博開(kāi)放平臺的API,首先要獲取新浪分配的App key和App Secret。以下是我創(chuàng )建應用后新浪分配的App key和App Secret(這個(gè)要保密)。
然后下載微博SDK,我用的是Java的weibo4j。
將SDK包中Weibo.java類(lèi)的App Key和App Secret修改為剛剛獲取的App Key和App Secret,如下所示:
完成這些后,就可以根據提供的Demo開(kāi)始編寫(xiě)代碼了。如下:
WebOAuth.java用于初始化Weibo.java類(lèi)所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法獲取Request Token和Access Token。所需的參數顯示在代碼中。此外,還提供了一種發(fā)布文本微博的方法update()。
package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式認證 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 準備好Consumer Key、Consumer Secret // 對應于新浪微博應用就是申請到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根據傳入的 callback_url 獲取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并獲得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("獲取Request token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 request token 和 verifier 獲取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("獲取Access token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 Access Token 和內容發(fā)表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功發(fā)表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博內容轉編碼發(fā)生異常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println(來(lái)源gaodai.ma#com搞#代!碼網(wǎng)"發(fā)表微博發(fā)生異常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(這里我們自定義為下文中的callback.jsp),當獲取得到RequestToken之后,保存該RequestToken到Session中,并將頁(yè)面重定向到callback.jsp進(jìn)行驗證、授權。 請點(diǎn)擊進(jìn)行Web方式的OAuth認證!
callback.jsp,在上一步重定向后,會(huì )在callback_url后面附加oauth_verifier參數。這時(shí)候我們根據Session中保存的RequestToken和獲取到的oauth_verifier參數申請AccessToken。獲取到AccessToken后,我們將頁(yè)面重定向到writeWeibo.html,即寫(xiě)微博的頁(yè)面。
writeWeibo.html,很簡(jiǎn)單的HTML文件。 發(fā)布sina微博 請在這里寫(xiě)上140字符以?xún)鹊奈谋荆?lt;/br>測試新浪微博!</br></br> updateWeibo.jsp,用于發(fā)表文本微博,即調用WebOAuth.java 中的update方法。
運行前我們要準備好Tomcat,把上面的源文件放到正確的目錄下。另外SDK包中的commons-httpclient-3.1.jar包也要加到\WEB-INF\lib目錄下,還有我編譯打包的weibo4j.jar(里面是新浪微博開(kāi)放平臺中具體的Java實(shí)現)。
運行Tomcat,在瀏覽器中訪(fǎng)問(wèn)request.jsp頁(yè)面,如下圖:
點(diǎn)擊鏈接,如下圖(注意地址欄的變化):
地址欄中的網(wǎng)址如下:
://localhost:8080/sinaweibo/callback.jsp
填寫(xiě)具體有效的新浪微博賬號、密碼和授權。以下是我用于測試和授權的微博賬號填寫(xiě)的結果:
地址欄中的網(wǎng)址如下:
:8080/sinaweibo/writeWeibo.html
點(diǎn)擊“發(fā)布”,如下圖:
登錄微博查看,如下圖:
查看此帳戶(hù)授權的應用列表:
至此,利用新浪微博開(kāi)放平臺發(fā)布關(guān)于OAuth方式的微博大概就是這個(gè)過(guò)程了。
概括:
1、其實(shí)還有很多細節我沒(méi)有講到。我也嘗試了很多次,找到問(wèn)題,理解問(wèn)題,然后解決問(wèn)題;
2、如果我們登錄新浪微博的賬號信息的cookie已經(jīng)保存在瀏覽器中,那么授權時(shí)不需要輸入賬號信息,當然也可以不使用當前賬號進(jìn)行修改授權;
3、還有一些信息是在控制臺輸入的,比如Token、URL、服務(wù)器返回信息,截圖中沒(méi)有給出。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博短鏈接API是開(kāi)放的,國外幾家已經(jīng)悲劇了)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 39 次瀏覽 ? 2022-01-12 22:12
在短地址(也叫短鏈接、縮短地址等)方面,推特發(fā)展后,還在不斷發(fā)展,很多互聯(lián)網(wǎng)網(wǎng)站使用短地址,國內外很多,但穩定且穩定??孔V,國內的更靠譜。我不怕沒(méi)有墻。幾家外國公司已經(jīng)遭遇了悲劇。因此,如果項目中使用短地址,我還是推薦使用新浪或者其他國內短鏈接服務(wù)。
新浪微博短鏈接API開(kāi)放,騰訊微博短地址API未開(kāi)放。我想通過(guò)不同的途徑獲取騰訊微博的API,但以失敗告終。新浪微博短地址API不需要用戶(hù)登錄,直接調用即可,速度非???。以下代碼來(lái)自網(wǎng)站,使用CURL POST方法作為參考。
新浪微博短鏈接API文檔在舊版開(kāi)發(fā)文檔中,新版中沒(méi)有添加:
function?shortenSinaUrl($long_url){
$apiKey='1234567890';//這里是你申請的應用的API?KEY,隨便寫(xiě)個(gè)應用名就會(huì )自動(dòng)分配給你
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandSinaUrl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
參考新浪微博的開(kāi)發(fā)文檔,推薦使用get方法獲取。那個(gè)代碼更簡(jiǎn)單
function?shorturl($long_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandurl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
好的,是不是更簡(jiǎn)單了?
調試上述代碼時(shí),需要填寫(xiě)自己的API key,否則無(wú)法獲取。
特別說(shuō)明:短地址服務(wù)現在只為已經(jīng)認證過(guò)的APP KEY提供服務(wù),剛剛申請的APP KEY會(huì )提示沒(méi)有權限。您可以使用兩個(gè)鍵 209678993 和 3818214747 進(jìn)行測試。這兩個(gè)密鑰的來(lái)源未知,不推薦用于生產(chǎn)。(感謝@congxz6688 的提醒)
jucelin寫(xiě)了一個(gè)調試文檔,可以測試一下:
長(cháng)到短:://
短到長(cháng)::///S4bLBm
參數只有2個(gè),類(lèi)型:1表示長(cháng)轉短,2表示短轉長(cháng),下面的網(wǎng)址是目標域名,因為懶,沒(méi)有錯誤判斷,新浪微博短地址不支持短地址和那么短地址是的,邏輯上應該是這樣控制的。(不信可以試試)。
新浪微博短地址接口更詳細的說(shuō)明請參考“新浪微博短地址接口”。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博短鏈接API是開(kāi)放的,國外幾家已經(jīng)悲劇了)
在短地址(也叫短鏈接、縮短地址等)方面,推特發(fā)展后,還在不斷發(fā)展,很多互聯(lián)網(wǎng)網(wǎng)站使用短地址,國內外很多,但穩定且穩定??孔V,國內的更靠譜。我不怕沒(méi)有墻。幾家外國公司已經(jīng)遭遇了悲劇。因此,如果項目中使用短地址,我還是推薦使用新浪或者其他國內短鏈接服務(wù)。
新浪微博短鏈接API開(kāi)放,騰訊微博短地址API未開(kāi)放。我想通過(guò)不同的途徑獲取騰訊微博的API,但以失敗告終。新浪微博短地址API不需要用戶(hù)登錄,直接調用即可,速度非???。以下代碼來(lái)自網(wǎng)站,使用CURL POST方法作為參考。
新浪微博短鏈接API文檔在舊版開(kāi)發(fā)文檔中,新版中沒(méi)有添加:
function?shortenSinaUrl($long_url){
$apiKey='1234567890';//這里是你申請的應用的API?KEY,隨便寫(xiě)個(gè)應用名就會(huì )自動(dòng)分配給你
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandSinaUrl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
參考新浪微博的開(kāi)發(fā)文檔,推薦使用get方法獲取。那個(gè)代碼更簡(jiǎn)單
function?shorturl($long_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandurl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
好的,是不是更簡(jiǎn)單了?
調試上述代碼時(shí),需要填寫(xiě)自己的API key,否則無(wú)法獲取。
特別說(shuō)明:短地址服務(wù)現在只為已經(jīng)認證過(guò)的APP KEY提供服務(wù),剛剛申請的APP KEY會(huì )提示沒(méi)有權限。您可以使用兩個(gè)鍵 209678993 和 3818214747 進(jìn)行測試。這兩個(gè)密鑰的來(lái)源未知,不推薦用于生產(chǎn)。(感謝@congxz6688 的提醒)
jucelin寫(xiě)了一個(gè)調試文檔,可以測試一下:
長(cháng)到短:://
短到長(cháng)::///S4bLBm
參數只有2個(gè),類(lèi)型:1表示長(cháng)轉短,2表示短轉長(cháng),下面的網(wǎng)址是目標域名,因為懶,沒(méi)有錯誤判斷,新浪微博短地址不支持短地址和那么短地址是的,邏輯上應該是這樣控制的。(不信可以試試)。
新浪微博短地址接口更詳細的說(shuō)明請參考“新浪微博短地址接口”。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(聯(lián)合第三方平臺登錄接入,初次接觸開(kāi)放平臺和AppSecret5 )
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 88 次瀏覽 ? 2022-01-11 07:00
)
最近做了一個(gè)關(guān)于聯(lián)合第三方平臺的登錄訪(fǎng)問(wèn),第一次接觸到開(kāi)放平臺,在這里做個(gè)筆記。
開(kāi)發(fā)前的準備工作如下:
1、注冊新浪微博
2、訪(fǎng)問(wèn)新浪微博開(kāi)發(fā)平臺。如果是企業(yè),申請企業(yè)準入并提交相關(guān)材料進(jìn)行審核;如果是個(gè)人開(kāi)發(fā)者,請申請個(gè)人開(kāi)發(fā)者申請。我們以開(kāi)發(fā)者為例
3、使用新浪微博開(kāi)放API,需要向新浪申請一個(gè)appkey和一個(gè)App Secret。這些是入口。您必須先獲得這兩個(gè),然后才能進(jìn)行下一個(gè)訪(fǎng)問(wèn)工作。
4、輸入完善個(gè)人信息后,必須完成身份驗證審核。審核完成后,新浪開(kāi)放平臺會(huì )給出appkey和App Secret。
5、接下來(lái)就是如何使用appkey和App Secret了。您需要在開(kāi)放平臺下載文檔或演示代碼。其實(shí)提供的文檔基本上都是技術(shù)文檔,很多東西都沒(méi)有解釋清楚。還是會(huì )有很多麻煩
6、新浪開(kāi)放平臺提供了很多不同開(kāi)發(fā)語(yǔ)言的SDK,這里我選擇java SDK,下載一個(gè)zip文件(包括新接口和OAuth2.0),解壓后即可可以直接導入go到eclipse,結構如下,包括weibo4j源碼和示例代碼
這里是一個(gè)config配置文件,打開(kāi)如下:
我們之前申請的appkey和App Secret就派上用場(chǎng)了。這里的client_ID為appkey,client_SERCRET為App Secret,填寫(xiě)對應內容,redirect_URI為回調地址。
點(diǎn)擊“第三方”-》跳轉微博登錄-》登錄ok,授權-》回調自己的應用,這里是回調地址的意思。
7、開(kāi)始運行測試程序,測試程序在example下,包weibo4j.examples.oauth2下的類(lèi)OAuth4Code,這里我們需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把這一段改成oauth.authorize("code","","all"),至于為什么改這個(gè),請看界面此處的文檔 oauth.authorize 使用說(shuō)明
假設我們這里沒(méi)有回調地址,配置文件中的redirect_URI為空。運行后會(huì )自動(dòng)打開(kāi)瀏覽器運行測試,顯示如下:
此時(shí)的URL地址為:
這說(shuō)明我的appkey和App Secret是有效的,因為我們還沒(méi)有創(chuàng )建正式的應用,新浪無(wú)法識別我的來(lái)源
8、在開(kāi)放平臺上創(chuàng )建應用,如下圖
這里有三種類(lèi)型的應用程序,網(wǎng)站 訪(fǎng)問(wèn)、站內應用程序和移動(dòng)應用程序。如果是企業(yè)行為,有公有域名可以訪(fǎng)問(wèn),應用通過(guò)域名訪(fǎng)問(wèn)。這里可以用任何方法,但是如果我們只是一個(gè)簡(jiǎn)單的開(kāi)發(fā)者,沒(méi)有公網(wǎng)域名,比如內網(wǎng)模式,ip以?xún)染W(wǎng)地址192.168.開(kāi)頭1.*,本地127.0.0.1等,這里只能選擇創(chuàng )建站內應用,填寫(xiě)如下
這里紅框標注的地方就是回調地址。如果我沒(méi)有公網(wǎng)ip和域名的話(huà),我在局域網(wǎng)玩的時(shí)候隨便填,但是不能用localhost代替127.0.0.1,這里是按照配置要求做的,這個(gè)配置的要求很?chē)栏瘢?br /> 尤其是下面的應用圖標比較麻煩。完成后,您可以提交它們以供審核。
9、提交審核后,新浪開(kāi)放平臺會(huì )在1天左右第一時(shí)間向您的郵箱發(fā)送郵件通知您審核結果,但無(wú)論審核結果是否失敗,關(guān)鍵是提交審核。沒(méi)有審核成功,這里可以照常使用
10、完成測試項目中的配置文件redirect_URI,必須與創(chuàng )建應用時(shí)填寫(xiě)的【應用實(shí)際地址】一致,這是回調地址!完成配置后,再次運行OAuth4Code.java,如圖
在這里你會(huì )跳轉到新浪微博的登錄頁(yè)面。登錄新浪微博賬號后,需要點(diǎn)擊授權,表示平臺可以訪(fǎng)問(wèn)您的微博賬號相關(guān)內容分享您的信息等。授權結束后,
將返回一個(gè)代碼。這段代碼非常重要。它是我們整個(gè)訪(fǎng)問(wèn)第三方平臺的門(mén)鑰匙。通過(guò)這段代碼,我們可以獲取到用戶(hù)的access_token、UID等內容,相當于整個(gè)訪(fǎng)問(wèn)過(guò)程。
11、調用新浪微博開(kāi)放API
這里我們需要研究這些API來(lái)滿(mǎn)足訪(fǎng)問(wèn)的需要。首先要熟悉的是OAuth2.0授權接口,網(wǎng)上可以查到,如下:
12、通過(guò)servlet程序調用開(kāi)放API獲取新浪微博的UID和微博名的示例
response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博訪(fǎng)問(wèn)Token_Info:" + accessTokenObj + "\t");
out.println("微博訪(fǎng)問(wèn)Token:" + accessToken + "\t");
out.println("微博用戶(hù)-Uid:" + uid + "\t");
out.println("微博用戶(hù)-名稱(chēng):" + screenName + "\t");
out.flush();
out.close();*/
查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(聯(lián)合第三方平臺登錄接入,初次接觸開(kāi)放平臺和AppSecret5
)
最近做了一個(gè)關(guān)于聯(lián)合第三方平臺的登錄訪(fǎng)問(wèn),第一次接觸到開(kāi)放平臺,在這里做個(gè)筆記。
開(kāi)發(fā)前的準備工作如下:
1、注冊新浪微博
2、訪(fǎng)問(wèn)新浪微博開(kāi)發(fā)平臺。如果是企業(yè),申請企業(yè)準入并提交相關(guān)材料進(jìn)行審核;如果是個(gè)人開(kāi)發(fā)者,請申請個(gè)人開(kāi)發(fā)者申請。我們以開(kāi)發(fā)者為例
3、使用新浪微博開(kāi)放API,需要向新浪申請一個(gè)appkey和一個(gè)App Secret。這些是入口。您必須先獲得這兩個(gè),然后才能進(jìn)行下一個(gè)訪(fǎng)問(wèn)工作。
4、輸入完善個(gè)人信息后,必須完成身份驗證審核。審核完成后,新浪開(kāi)放平臺會(huì )給出appkey和App Secret。
5、接下來(lái)就是如何使用appkey和App Secret了。您需要在開(kāi)放平臺下載文檔或演示代碼。其實(shí)提供的文檔基本上都是技術(shù)文檔,很多東西都沒(méi)有解釋清楚。還是會(huì )有很多麻煩
6、新浪開(kāi)放平臺提供了很多不同開(kāi)發(fā)語(yǔ)言的SDK,這里我選擇java SDK,下載一個(gè)zip文件(包括新接口和OAuth2.0),解壓后即可可以直接導入go到eclipse,結構如下,包括weibo4j源碼和示例代碼

這里是一個(gè)config配置文件,打開(kāi)如下:

我們之前申請的appkey和App Secret就派上用場(chǎng)了。這里的client_ID為appkey,client_SERCRET為App Secret,填寫(xiě)對應內容,redirect_URI為回調地址。
點(diǎn)擊“第三方”-》跳轉微博登錄-》登錄ok,授權-》回調自己的應用,這里是回調地址的意思。
7、開(kāi)始運行測試程序,測試程序在example下,包weibo4j.examples.oauth2下的類(lèi)OAuth4Code,這里我們需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把這一段改成oauth.authorize("code","","all"),至于為什么改這個(gè),請看界面此處的文檔 oauth.authorize 使用說(shuō)明
假設我們這里沒(méi)有回調地址,配置文件中的redirect_URI為空。運行后會(huì )自動(dòng)打開(kāi)瀏覽器運行測試,顯示如下:

此時(shí)的URL地址為:
這說(shuō)明我的appkey和App Secret是有效的,因為我們還沒(méi)有創(chuàng )建正式的應用,新浪無(wú)法識別我的來(lái)源
8、在開(kāi)放平臺上創(chuàng )建應用,如下圖

這里有三種類(lèi)型的應用程序,網(wǎng)站 訪(fǎng)問(wèn)、站內應用程序和移動(dòng)應用程序。如果是企業(yè)行為,有公有域名可以訪(fǎng)問(wèn),應用通過(guò)域名訪(fǎng)問(wèn)。這里可以用任何方法,但是如果我們只是一個(gè)簡(jiǎn)單的開(kāi)發(fā)者,沒(méi)有公網(wǎng)域名,比如內網(wǎng)模式,ip以?xún)染W(wǎng)地址192.168.開(kāi)頭1.*,本地127.0.0.1等,這里只能選擇創(chuàng )建站內應用,填寫(xiě)如下

這里紅框標注的地方就是回調地址。如果我沒(méi)有公網(wǎng)ip和域名的話(huà),我在局域網(wǎng)玩的時(shí)候隨便填,但是不能用localhost代替127.0.0.1,這里是按照配置要求做的,這個(gè)配置的要求很?chē)栏瘢?br /> 尤其是下面的應用圖標比較麻煩。完成后,您可以提交它們以供審核。
9、提交審核后,新浪開(kāi)放平臺會(huì )在1天左右第一時(shí)間向您的郵箱發(fā)送郵件通知您審核結果,但無(wú)論審核結果是否失敗,關(guān)鍵是提交審核。沒(méi)有審核成功,這里可以照常使用

10、完成測試項目中的配置文件redirect_URI,必須與創(chuàng )建應用時(shí)填寫(xiě)的【應用實(shí)際地址】一致,這是回調地址!完成配置后,再次運行OAuth4Code.java,如圖

在這里你會(huì )跳轉到新浪微博的登錄頁(yè)面。登錄新浪微博賬號后,需要點(diǎn)擊授權,表示平臺可以訪(fǎng)問(wèn)您的微博賬號相關(guān)內容分享您的信息等。授權結束后,
將返回一個(gè)代碼。這段代碼非常重要。它是我們整個(gè)訪(fǎng)問(wèn)第三方平臺的門(mén)鑰匙。通過(guò)這段代碼,我們可以獲取到用戶(hù)的access_token、UID等內容,相當于整個(gè)訪(fǎng)問(wèn)過(guò)程。
11、調用新浪微博開(kāi)放API
這里我們需要研究這些API來(lái)滿(mǎn)足訪(fǎng)問(wèn)的需要。首先要熟悉的是OAuth2.0授權接口,網(wǎng)上可以查到,如下:

12、通過(guò)servlet程序調用開(kāi)放API獲取新浪微博的UID和微博名的示例

response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博訪(fǎng)問(wèn)Token_Info:" + accessTokenObj + "\t");
out.println("微博訪(fǎng)問(wèn)Token:" + accessToken + "\t");
out.println("微博用戶(hù)-Uid:" + uid + "\t");
out.println("微博用戶(hù)-名稱(chēng):" + screenName + "\t");
out.flush();
out.close();*/

使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(本次開(kāi)放微博渠道接口,不需要驗證網(wǎng)站地址。。)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 70 次瀏覽 ? 2022-01-10 10:19
此次開(kāi)通微博頻道界面,為廣大站長(cháng)提供了更便捷的申請方式。
不僅需要在管理后臺點(diǎn)擊應用,還可以將內容同步到微博,顯示來(lái)自自己網(wǎng)站。
無(wú)需等待開(kāi)放平臺審核,無(wú)需去微博開(kāi)放平臺申請,無(wú)需驗證網(wǎng)站地址。
新浪微博為您提供支持和開(kāi)放渠道接口,目前實(shí)現了以下功能。
發(fā)布更新文章,同時(shí)發(fā)布到微博時(shí),來(lái)源顯示為網(wǎng)站自定義的名稱(chēng),鏈接地址為本站自定義鏈接。它非常強大嗎?!
要實(shí)現這個(gè)功能,只需要簡(jiǎn)單的 3 個(gè)步驟:
【第一步】打開(kāi)管理后臺,進(jìn)入設置,滾動(dòng)至底部:設置新浪微博頻道AppKey。
【第二步】輸入站點(diǎn)名稱(chēng)和網(wǎng)站url:網(wǎng)站的名稱(chēng)將顯示為微博來(lái)源,不超過(guò)5個(gè)漢字,或10個(gè)英文/數字。url:點(diǎn)擊源后指向的網(wǎng)站網(wǎng)址,我們默認為您填寫(xiě)。
【第三步】授權此api:使用此時(shí)登錄的wp賬號對應的新浪微博賬號授權此api。
完畢!發(fā)帖文章來(lái)測試一下吧~
注意:
1.微博默認會(huì )在站點(diǎn)名稱(chēng)后加一個(gè)_ds logo,這樣站點(diǎn)就不會(huì )和原微博注冊沖突了;
2.僅對擁有授權微博賬號且在有效期內的用戶(hù),同步時(shí)會(huì )顯示來(lái)源;
3.在內測期間,新浪微博只提供7天的授權,您可以在頁(yè)面更新授權。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(本次開(kāi)放微博渠道接口,不需要驗證網(wǎng)站地址。。)
此次開(kāi)通微博頻道界面,為廣大站長(cháng)提供了更便捷的申請方式。
不僅需要在管理后臺點(diǎn)擊應用,還可以將內容同步到微博,顯示來(lái)自自己網(wǎng)站。
無(wú)需等待開(kāi)放平臺審核,無(wú)需去微博開(kāi)放平臺申請,無(wú)需驗證網(wǎng)站地址。
新浪微博為您提供支持和開(kāi)放渠道接口,目前實(shí)現了以下功能。
發(fā)布更新文章,同時(shí)發(fā)布到微博時(shí),來(lái)源顯示為網(wǎng)站自定義的名稱(chēng),鏈接地址為本站自定義鏈接。它非常強大嗎?!

要實(shí)現這個(gè)功能,只需要簡(jiǎn)單的 3 個(gè)步驟:
【第一步】打開(kāi)管理后臺,進(jìn)入設置,滾動(dòng)至底部:設置新浪微博頻道AppKey。

【第二步】輸入站點(diǎn)名稱(chēng)和網(wǎng)站url:網(wǎng)站的名稱(chēng)將顯示為微博來(lái)源,不超過(guò)5個(gè)漢字,或10個(gè)英文/數字。url:點(diǎn)擊源后指向的網(wǎng)站網(wǎng)址,我們默認為您填寫(xiě)。
【第三步】授權此api:使用此時(shí)登錄的wp賬號對應的新浪微博賬號授權此api。

完畢!發(fā)帖文章來(lái)測試一下吧~
注意:
1.微博默認會(huì )在站點(diǎn)名稱(chēng)后加一個(gè)_ds logo,這樣站點(diǎn)就不會(huì )和原微博注冊沖突了;
2.僅對擁有授權微博賬號且在有效期內的用戶(hù),同步時(shí)會(huì )顯示來(lái)源;
3.在內測期間,新浪微博只提供7天的授權,您可以在頁(yè)面更新授權。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(我是移動(dòng)應用開(kāi)發(fā)者,在我的應用中集成微博的功能)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 54 次瀏覽 ? 2022-01-10 03:09
我是一名移動(dòng)應用開(kāi)發(fā)者,我想在我的應用中集成微博的功能
移動(dòng)應用
微博開(kāi)放平臺為移動(dòng)應用開(kāi)發(fā)者提供了一個(gè)簡(jiǎn)單的開(kāi)發(fā)框架,多平臺、多終端的sdk,將幫助您將微博的功能集成到您的應用或wap站中。
IOS H5
我想為企業(yè)開(kāi)發(fā)微博平臺的應用,服務(wù)企業(yè)號和他的客戶(hù)
商業(yè)服務(wù)
通過(guò)微博開(kāi)放平臺提供的接口和渠道,企業(yè)開(kāi)發(fā)者為微博賬號提供與用戶(hù)私信交互、首頁(yè)定制、數據分析等服務(wù),即微服務(wù)。微服務(wù)只支持企業(yè)開(kāi)發(fā)者申請訪(fǎng)問(wèn)。
輕應用微博支付
更多可以幫助您的文檔
新手指南在訪(fǎng)問(wèn)網(wǎng)站和開(kāi)發(fā)應用之前,你需要知道如何成為平臺的開(kāi)發(fā)者,如何創(chuàng )建應用,提交審核,最終讓微博用戶(hù)在微博上找到你發(fā)布的應用微博應用廣場(chǎng)。
大部分API的訪(fǎng)問(wèn),比如發(fā)微博、獲取私信、關(guān)注,都需要用戶(hù)身份。目前,微博開(kāi)放平臺的用戶(hù)身份認證使用oauth2.0協(xié)議,并提供對Web、桌面和移動(dòng)應用的支持。.
API文檔:包括微博相關(guān)API、公共服務(wù)API、地理信息API。對于A(yíng)PI,您還可以在文檔調用頁(yè)面進(jìn)行評分和反饋,以便我們更好地為您提供接口支持。
開(kāi)發(fā)包:包括ios、android、java、php、python等多種語(yǔ)言。實(shí)現接入第三方wap站、客戶(hù)端等各種應用。
了解微博開(kāi)放平臺的政策和規范,清楚地開(kāi)發(fā)和運營(yíng)自己的應用程序:平臺約定,,,,。
常見(jiàn)問(wèn)題 應用相關(guān)問(wèn)題包括:應用管理、審計、高級接口和特殊權限、應用調優(yōu);接口問(wèn)題如接口策略等問(wèn)題。您可以在此處查看和解決它們。
語(yǔ)言:中文
從 ””
文件更新時(shí)間:2017-09-13 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(我是移動(dòng)應用開(kāi)發(fā)者,在我的應用中集成微博的功能)
我是一名移動(dòng)應用開(kāi)發(fā)者,我想在我的應用中集成微博的功能
移動(dòng)應用
微博開(kāi)放平臺為移動(dòng)應用開(kāi)發(fā)者提供了一個(gè)簡(jiǎn)單的開(kāi)發(fā)框架,多平臺、多終端的sdk,將幫助您將微博的功能集成到您的應用或wap站中。
IOS H5
我想為企業(yè)開(kāi)發(fā)微博平臺的應用,服務(wù)企業(yè)號和他的客戶(hù)
商業(yè)服務(wù)
通過(guò)微博開(kāi)放平臺提供的接口和渠道,企業(yè)開(kāi)發(fā)者為微博賬號提供與用戶(hù)私信交互、首頁(yè)定制、數據分析等服務(wù),即微服務(wù)。微服務(wù)只支持企業(yè)開(kāi)發(fā)者申請訪(fǎng)問(wèn)。
輕應用微博支付
更多可以幫助您的文檔
新手指南在訪(fǎng)問(wèn)網(wǎng)站和開(kāi)發(fā)應用之前,你需要知道如何成為平臺的開(kāi)發(fā)者,如何創(chuàng )建應用,提交審核,最終讓微博用戶(hù)在微博上找到你發(fā)布的應用微博應用廣場(chǎng)。
大部分API的訪(fǎng)問(wèn),比如發(fā)微博、獲取私信、關(guān)注,都需要用戶(hù)身份。目前,微博開(kāi)放平臺的用戶(hù)身份認證使用oauth2.0協(xié)議,并提供對Web、桌面和移動(dòng)應用的支持。.
API文檔:包括微博相關(guān)API、公共服務(wù)API、地理信息API。對于A(yíng)PI,您還可以在文檔調用頁(yè)面進(jìn)行評分和反饋,以便我們更好地為您提供接口支持。
開(kāi)發(fā)包:包括ios、android、java、php、python等多種語(yǔ)言。實(shí)現接入第三方wap站、客戶(hù)端等各種應用。
了解微博開(kāi)放平臺的政策和規范,清楚地開(kāi)發(fā)和運營(yíng)自己的應用程序:平臺約定,,,,。
常見(jiàn)問(wèn)題 應用相關(guān)問(wèn)題包括:應用管理、審計、高級接口和特殊權限、應用調優(yōu);接口問(wèn)題如接口策略等問(wèn)題。您可以在此處查看和解決它們。
語(yǔ)言:中文
從 ””
文件更新時(shí)間:2017-09-13
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(注冊新浪微博03登陸新浪開(kāi)放平臺09創(chuàng )建應用獲取AccessToken09 )
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 78 次瀏覽 ? 2022-01-10 03:09
)
前段時(shí)間,我抓取了微博的數據。想過(guò)用htmlunit模擬登錄新浪微博抓取數據。這兩天看了新浪微博官方API,發(fā)現可以通過(guò)新浪微博官方API獲取新浪微博。信息,更全面,更簡(jiǎn)單。以下是從注冊新浪微博,到完善新浪微博開(kāi)放平臺開(kāi)發(fā)者信息,再創(chuàng )建應用獲取Access Token,最后開(kāi)發(fā)自己的應用。
1 注冊126個(gè)郵箱
02注冊新浪微博
03 登錄新浪微博
04 登陸新浪開(kāi)放平臺
05查看微博API
06 可以看到獲得用戶(hù)關(guān)注的用戶(hù)信息列表
07 打開(kāi)api測試工具
08創(chuàng )建應用獲取AccessToken
09 創(chuàng )建應用
10選擇應用類(lèi)型
11 完成開(kāi)發(fā)者信息(如果之前已經(jīng)完善了開(kāi)發(fā)者信息,則跳過(guò)此步驟)
12 完整的開(kāi)發(fā)者信息
13 完成電子郵件確認
14 創(chuàng )建應用程序
15 成功創(chuàng )建應用(此處Appkey暫時(shí)不可用)
16 回到API測試用戶(hù)關(guān)系的地方
17 找到我的uid(在個(gè)人主頁(yè),后面最后一個(gè)數字是個(gè)人uid)
18 如果可以看到,請關(guān)注此用戶(hù)
19 最終結果,調用新浪微博的api,可以看到獲取到的數據為json格式
以上完成后,在網(wǎng)頁(yè)上成功調用新浪微博提供的api接口。接下來(lái),您需要編寫(xiě)一個(gè)程序來(lái)實(shí)現它。程序是模擬這個(gè)網(wǎng)頁(yè)發(fā)送請求,返回的數據是json格式,數據字段已經(jīng)定義好了。
比如模擬這個(gè)請求,然后解析數據:
做完這些,就該開(kāi)始正式開(kāi)發(fā)微博數據分析程序了。
查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(注冊新浪微博03登陸新浪開(kāi)放平臺09創(chuàng )建應用獲取AccessToken09
)
前段時(shí)間,我抓取了微博的數據。想過(guò)用htmlunit模擬登錄新浪微博抓取數據。這兩天看了新浪微博官方API,發(fā)現可以通過(guò)新浪微博官方API獲取新浪微博。信息,更全面,更簡(jiǎn)單。以下是從注冊新浪微博,到完善新浪微博開(kāi)放平臺開(kāi)發(fā)者信息,再創(chuàng )建應用獲取Access Token,最后開(kāi)發(fā)自己的應用。
1 注冊126個(gè)郵箱

02注冊新浪微博

03 登錄新浪微博

04 登陸新浪開(kāi)放平臺

05查看微博API

06 可以看到獲得用戶(hù)關(guān)注的用戶(hù)信息列表

07 打開(kāi)api測試工具

08創(chuàng )建應用獲取AccessToken

09 創(chuàng )建應用

10選擇應用類(lèi)型

11 完成開(kāi)發(fā)者信息(如果之前已經(jīng)完善了開(kāi)發(fā)者信息,則跳過(guò)此步驟)

12 完整的開(kāi)發(fā)者信息

13 完成電子郵件確認

14 創(chuàng )建應用程序

15 成功創(chuàng )建應用(此處Appkey暫時(shí)不可用)

16 回到API測試用戶(hù)關(guān)系的地方

17 找到我的uid(在個(gè)人主頁(yè),后面最后一個(gè)數字是個(gè)人uid)

18 如果可以看到,請關(guān)注此用戶(hù)

19 最終結果,調用新浪微博的api,可以看到獲取到的數據為json格式

以上完成后,在網(wǎng)頁(yè)上成功調用新浪微博提供的api接口。接下來(lái),您需要編寫(xiě)一個(gè)程序來(lái)實(shí)現它。程序是模擬這個(gè)網(wǎng)頁(yè)發(fā)送請求,返回的數據是json格式,數據字段已經(jīng)定義好了。
比如模擬這個(gè)請求,然后解析數據:

做完這些,就該開(kāi)始正式開(kāi)發(fā)微博數據分析程序了。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么把微信朋友圈同步到新浪微博呢?的圖片文字一一復制粘帖)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 78 次瀏覽 ? 2022-01-06 19:07
微信朋友圈里的東西也可以同步到新浪微博。你剛剛知道你出去了。那么,微信朋友圈怎么同步到新浪微博呢?下面小編為大家帶來(lái)微信朋友圈同步到新浪微博的教程。無(wú)需將朋友圈的圖片和文字一一復制粘貼。是不是很棒?
將微信朋友圈同步到新浪微博
在微信公眾號和朋友圈瘋狂擠壓個(gè)人時(shí)間的當下,很多人的微博都逐漸被拋棄了,這個(gè)工具可以幫你自動(dòng)同步任何朋友圈圖文內容到你的微博上。
這個(gè)可以為你省去很多麻煩的小工具叫做“同步圈”。顧名思義,就是把你的“朋友圈”“同步”到微博。
將微信朋友圈同步到新浪微博
為了一勞永逸地享受自動(dòng)同步的便利,您需要提前在PC瀏覽器中使用您的個(gè)人微博賬號登錄同步推文。網(wǎng)址在這里。獲得登錄授權后,網(wǎng)頁(yè)上會(huì )顯示二維碼。用微信掃一掃后,添加一個(gè)名為“同步圈”的個(gè)人微信賬號,很快就會(huì )通過(guò)驗證。
接下來(lái),您需要將二維碼下方的四位驗證碼發(fā)送到“同步圈”賬號,系統會(huì )提示您綁定成功!
經(jīng)測試,“同步圈”目前支持純文本、文本+表情、文本+圖片的自動(dòng)同步。您在朋友圈發(fā)布的小視頻和地理位置無(wú)法同步到您的個(gè)人微博。經(jīng)過(guò)實(shí)測,我也發(fā)現一些特殊的表情符號會(huì )被“同步圈”誤識別,可能會(huì )造成一些歧義或誤解。這大概是微信朋友圈和微博支持的表情不一致造成的。
從原理上看,“同步圈”調用微信朋友圈側的某些內容識別接口,可以自動(dòng)抓取綁定用戶(hù)的朋友圈內容,然后利用微博開(kāi)放平臺的API接口發(fā)送相同內容出去。抽象地說(shuō),“同步圈”與著(zhù)名的自動(dòng)化服務(wù)IFTTT非常相似。它剛剛在微信封閉的城墻上開(kāi)設了一個(gè)單向流量信息站,幫助用戶(hù)將內容輸出到更廣闊的公共網(wǎng)絡(luò )空間。
遺憾的是,根據pc6編輯對騰訊和微信團隊的了解,這個(gè)同步圈的“小聰明”可能很快就會(huì )失敗。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么把微信朋友圈同步到新浪微博呢?的圖片文字一一復制粘帖)
微信朋友圈里的東西也可以同步到新浪微博。你剛剛知道你出去了。那么,微信朋友圈怎么同步到新浪微博呢?下面小編為大家帶來(lái)微信朋友圈同步到新浪微博的教程。無(wú)需將朋友圈的圖片和文字一一復制粘貼。是不是很棒?

將微信朋友圈同步到新浪微博
在微信公眾號和朋友圈瘋狂擠壓個(gè)人時(shí)間的當下,很多人的微博都逐漸被拋棄了,這個(gè)工具可以幫你自動(dòng)同步任何朋友圈圖文內容到你的微博上。
這個(gè)可以為你省去很多麻煩的小工具叫做“同步圈”。顧名思義,就是把你的“朋友圈”“同步”到微博。

將微信朋友圈同步到新浪微博
為了一勞永逸地享受自動(dòng)同步的便利,您需要提前在PC瀏覽器中使用您的個(gè)人微博賬號登錄同步推文。網(wǎng)址在這里。獲得登錄授權后,網(wǎng)頁(yè)上會(huì )顯示二維碼。用微信掃一掃后,添加一個(gè)名為“同步圈”的個(gè)人微信賬號,很快就會(huì )通過(guò)驗證。
接下來(lái),您需要將二維碼下方的四位驗證碼發(fā)送到“同步圈”賬號,系統會(huì )提示您綁定成功!
經(jīng)測試,“同步圈”目前支持純文本、文本+表情、文本+圖片的自動(dòng)同步。您在朋友圈發(fā)布的小視頻和地理位置無(wú)法同步到您的個(gè)人微博。經(jīng)過(guò)實(shí)測,我也發(fā)現一些特殊的表情符號會(huì )被“同步圈”誤識別,可能會(huì )造成一些歧義或誤解。這大概是微信朋友圈和微博支持的表情不一致造成的。
從原理上看,“同步圈”調用微信朋友圈側的某些內容識別接口,可以自動(dòng)抓取綁定用戶(hù)的朋友圈內容,然后利用微博開(kāi)放平臺的API接口發(fā)送相同內容出去。抽象地說(shuō),“同步圈”與著(zhù)名的自動(dòng)化服務(wù)IFTTT非常相似。它剛剛在微信封閉的城墻上開(kāi)設了一個(gè)單向流量信息站,幫助用戶(hù)將內容輸出到更廣闊的公共網(wǎng)絡(luò )空間。
遺憾的是,根據pc6編輯對騰訊和微信團隊的了解,這個(gè)同步圈的“小聰明”可能很快就會(huì )失敗。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(網(wǎng)絡(luò )真是麻煩怎么辦?指令是做什么的?)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 51 次瀏覽 ? 2022-01-06 19:04
是不是因為我不是這個(gè)專(zhuān)業(yè)的?突然覺(jué)得上網(wǎng)真的很麻煩,尤其是要實(shí)現某個(gè)功能的編程,但是如果有時(shí)間,我會(huì )學(xué)習的。畢竟,我自己的程序可以讓自己放心,沒(méi)有廣告,沒(méi)有垃圾,并且知道哪個(gè)指令做了什么。
我前天注冊了一個(gè)IFTTT賬號。我剛注冊后沒(méi)用過(guò)。我使用了其他人分享的食譜來(lái)構建自己的同步并實(shí)現 Twitter 的定時(shí)天氣預報。后來(lái)發(fā)現自己想實(shí)現的某個(gè)功能很難找到,于是自己嘗試了一下。搭建一個(gè)其實(shí)很簡(jiǎn)單,但是有一種人叫-新手,我也是新手,不過(guò)現在可以了。
昨天突然想把推特和國內的微博同步,但是因為是國內的微博,IFTTT對自己的服務(wù)質(zhì)量和國內的各種網(wǎng)絡(luò )監控和防火墻造成了困難,最后想出了解決辦法。: 搭建一個(gè)wordpress(有免費的,我最后給),用搭建好的wordpress作為轉賬,此時(shí)IFTTT支持twitter同步到wordpress(配方點(diǎn)這里,我設置了原創(chuàng )時(shí)間轉賬,所以評論的轉推不會(huì )同步),Facebook和Tumblr也是一樣的,下面是一樣的。這只是完成了一個(gè)中介;
下一步就是將wordpress中的博客內容(申請WP教程)同步到各個(gè)微博。這個(gè)過(guò)程可以在 wordpress 插件的幫助下實(shí)現。我總共測試了兩個(gè)插件:
一、wp-sns-share
這個(gè)插件已經(jīng)測試可以實(shí)現手動(dòng)發(fā)博文,但是IFTTT自動(dòng)發(fā)的文章不會(huì )自動(dòng)轉發(fā),所以放棄了。如果手動(dòng)更新,可以選擇。
二、新版微博通同步
本插件經(jīng)過(guò)測試,可以很好的實(shí)現以上功能,目測延時(shí)很短。設置時(shí),您只需登錄您注冊的微博通賬號即可。缺點(diǎn)是需要額外申請微博通賬號并自動(dòng)發(fā)布。's微博顯示“微博通發(fā)布”,他對新浪微博的授權有時(shí)間限制:30天,其實(shí)還不錯,一個(gè)月就新授權一次
三.代碼方法(20140320補充,來(lái)自+King Goo的博客)
該方法需要使用新浪的接口,如下:
1) 前往新浪微博開(kāi)放平臺創(chuàng )建站內應用。審核通過(guò)也可以,審核通過(guò)了就可以在微博下展示某博客的申請,比如某博客。你可以在谷歌搜索上創(chuàng )建就可以了,很簡(jiǎn)單(但是如果你沒(méi)有通過(guò)審核想通過(guò)審核,我可以提供付費幫助嘎嘎~),創(chuàng )建應用后需要使用App Key以下申請的申請;
2)編輯你的主題的functions.php文件并在最后添加以下代碼
// 微博同步
function post_to_sina_weibo($post_ID) {
if( wp_is_post_revision($post_ID) ) return;
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
//去掉文章內的html編碼的空格、換行、tab等符號(如果你文章的編碼格式是這樣子,可以將下面的"//"去掉即開(kāi)啟此功能)
//$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace("?", " ", $get_post_centent)));
$get_post_title = get_post($post_ID)->post_title;
if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
$request = new WP_Http;
$status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ;
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array( 'status' => $status, 'source'=>'4135063399');
$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' );
$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);
你可能應該知道這意味著(zhù)什么
如果(wp_is_post_revision($post_ID))返回;
//如果是修改版 $get_post_info = get_post($post_ID);
//獲取文章信息
$get_post_centent =get_post($post_ID)->post_content;
//文章Content(不知道為什么使用了所有post_ID數據后獲取不到內容,所以只在請求下)
$get_post_title =get_post($post_ID)->post_title;
//文章標題
if ($get_post_info->post_status =='publish' &&$_POST['original_post_status'] !='publish') {
//判斷是發(fā)布的文章還是頁(yè)面
$status ='['。strip_tags( $get_post_title).'] '.mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...').' 全文地址:'.get_permalink($post_ID);
//strip_tags( $get_post_title) 就是獲取文章標題
// mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...') 是截取的長(cháng)度文章
//get_permalink($post_ID) 文章 鏈接地址
$api_url ='';
//舊接口不能用了,必須用v2.0
$body =array('status' => $status,'source'=>'4135063399');
// $status要發(fā)布的微博文字內容,內容不超過(guò)140個(gè)漢字
// $source 的值是應用程序的AppKey
$headers = array('Authorization' =>'Basic '.'bate64 編碼加密');
//'bate64編碼加密'的位置在這里,你可以自己加密你的賬號和密碼,格式為你的新浪微博登錄賬號:登錄密碼(例如:密碼)
//如果你不喜歡用這種方式 $headers = array('Authorization' =>'Basic '.'Bate64 encoding encryption'),就用下面的方法代替,一樣
//您的新浪微博登錄名
$用戶(hù)名 = ";
//您的新浪微博登錄密碼
$密碼 = ”;
$headers = array('Authorization' =>'Basic '.base64_encode('$username:$password'));
最后,在您發(fā)送博文后,一條消息將立即同步到微博
微博接口請求參數:
必需的
類(lèi)型和范圍
操作說(shuō)明
來(lái)源
錯誤的
細繩
OAuth授權方式不需要該參數,其他授權方式為必選參數,值為應用的AppKey
地位
真的
細繩
發(fā)布的微博文字內容必須經(jīng)過(guò)URL編碼,內容不得超過(guò)140個(gè)漢字。
可見(jiàn)的
錯誤的
整數
微博可見(jiàn)度,0:所有人可見(jiàn),1:只有自己可見(jiàn),2:密友可見(jiàn),3:指定群組可見(jiàn),默認為0。
訪(fǎng)問(wèn)令牌
錯誤的
細繩
OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權后獲取。
list_id
錯誤的
細繩
微博的受保護傳遞指定了組ID,僅當visible 參數為3 時(shí)才生效,并且是必需的。
緯度
錯誤的
漂浮
緯度,有效范圍:-90.0 to +90.0,+表示北緯,默認為0.0。
長(cháng)
錯誤的
漂浮
經(jīng)度,有效范圍:-180.0 to +180.0,+表示東經(jīng),默認為0.0。
注釋
錯誤的
細繩
元數據主要是為了方便第三方應用記錄一些適合自己使用的信息。每個(gè)微博可以收錄一個(gè)或多個(gè)元數據,必須以json字符串的形式提交,字符串長(cháng)度不能超過(guò)512個(gè)字符。具體內容可定制。
這幾乎是我這兩天所做的。為了測試這個(gè)同步,我變得可笑了。昨天刷了半天,呵呵。
還有一個(gè)推特機器人,可以實(shí)現一些關(guān)鍵詞自動(dòng)回復、自動(dòng)推文和常規推文,網(wǎng)址:點(diǎn)此。有英文和日文兩種語(yǔ)言,看看應該能操作。
接下來(lái)大家可以看看我同步的結果,我的推特,我的wordpress,我的新浪微博,我的騰訊微博,因為那個(gè)推特的圖片都是鏈接的形式,所以對于有圖片的推文,有同步時(shí)會(huì )報錯:missing or missing。
最后吐槽:尼瑪的FGW?。。。。。。?! 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(網(wǎng)絡(luò )真是麻煩怎么辦?指令是做什么的?)
是不是因為我不是這個(gè)專(zhuān)業(yè)的?突然覺(jué)得上網(wǎng)真的很麻煩,尤其是要實(shí)現某個(gè)功能的編程,但是如果有時(shí)間,我會(huì )學(xué)習的。畢竟,我自己的程序可以讓自己放心,沒(méi)有廣告,沒(méi)有垃圾,并且知道哪個(gè)指令做了什么。
我前天注冊了一個(gè)IFTTT賬號。我剛注冊后沒(méi)用過(guò)。我使用了其他人分享的食譜來(lái)構建自己的同步并實(shí)現 Twitter 的定時(shí)天氣預報。后來(lái)發(fā)現自己想實(shí)現的某個(gè)功能很難找到,于是自己嘗試了一下。搭建一個(gè)其實(shí)很簡(jiǎn)單,但是有一種人叫-新手,我也是新手,不過(guò)現在可以了。
昨天突然想把推特和國內的微博同步,但是因為是國內的微博,IFTTT對自己的服務(wù)質(zhì)量和國內的各種網(wǎng)絡(luò )監控和防火墻造成了困難,最后想出了解決辦法。: 搭建一個(gè)wordpress(有免費的,我最后給),用搭建好的wordpress作為轉賬,此時(shí)IFTTT支持twitter同步到wordpress(配方點(diǎn)這里,我設置了原創(chuàng )時(shí)間轉賬,所以評論的轉推不會(huì )同步),Facebook和Tumblr也是一樣的,下面是一樣的。這只是完成了一個(gè)中介;
下一步就是將wordpress中的博客內容(申請WP教程)同步到各個(gè)微博。這個(gè)過(guò)程可以在 wordpress 插件的幫助下實(shí)現。我總共測試了兩個(gè)插件:
一、wp-sns-share
這個(gè)插件已經(jīng)測試可以實(shí)現手動(dòng)發(fā)博文,但是IFTTT自動(dòng)發(fā)的文章不會(huì )自動(dòng)轉發(fā),所以放棄了。如果手動(dòng)更新,可以選擇。
二、新版微博通同步
本插件經(jīng)過(guò)測試,可以很好的實(shí)現以上功能,目測延時(shí)很短。設置時(shí),您只需登錄您注冊的微博通賬號即可。缺點(diǎn)是需要額外申請微博通賬號并自動(dòng)發(fā)布。's微博顯示“微博通發(fā)布”,他對新浪微博的授權有時(shí)間限制:30天,其實(shí)還不錯,一個(gè)月就新授權一次
三.代碼方法(20140320補充,來(lái)自+King Goo的博客)
該方法需要使用新浪的接口,如下:
1) 前往新浪微博開(kāi)放平臺創(chuàng )建站內應用。審核通過(guò)也可以,審核通過(guò)了就可以在微博下展示某博客的申請,比如某博客。你可以在谷歌搜索上創(chuàng )建就可以了,很簡(jiǎn)單(但是如果你沒(méi)有通過(guò)審核想通過(guò)審核,我可以提供付費幫助嘎嘎~),創(chuàng )建應用后需要使用App Key以下申請的申請;
2)編輯你的主題的functions.php文件并在最后添加以下代碼
// 微博同步
function post_to_sina_weibo($post_ID) {
if( wp_is_post_revision($post_ID) ) return;
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
//去掉文章內的html編碼的空格、換行、tab等符號(如果你文章的編碼格式是這樣子,可以將下面的"//"去掉即開(kāi)啟此功能)
//$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace("?", " ", $get_post_centent)));
$get_post_title = get_post($post_ID)->post_title;
if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
$request = new WP_Http;
$status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ;
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array( 'status' => $status, 'source'=>'4135063399');
$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' );
$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);
你可能應該知道這意味著(zhù)什么
如果(wp_is_post_revision($post_ID))返回;
//如果是修改版 $get_post_info = get_post($post_ID);
//獲取文章信息
$get_post_centent =get_post($post_ID)->post_content;
//文章Content(不知道為什么使用了所有post_ID數據后獲取不到內容,所以只在請求下)
$get_post_title =get_post($post_ID)->post_title;
//文章標題
if ($get_post_info->post_status =='publish' &&$_POST['original_post_status'] !='publish') {
//判斷是發(fā)布的文章還是頁(yè)面
$status ='['。strip_tags( $get_post_title).'] '.mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...').' 全文地址:'.get_permalink($post_ID);
//strip_tags( $get_post_title) 就是獲取文章標題
// mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...') 是截取的長(cháng)度文章
//get_permalink($post_ID) 文章 鏈接地址
$api_url ='';
//舊接口不能用了,必須用v2.0
$body =array('status' => $status,'source'=>'4135063399');
// $status要發(fā)布的微博文字內容,內容不超過(guò)140個(gè)漢字
// $source 的值是應用程序的AppKey
$headers = array('Authorization' =>'Basic '.'bate64 編碼加密');
//'bate64編碼加密'的位置在這里,你可以自己加密你的賬號和密碼,格式為你的新浪微博登錄賬號:登錄密碼(例如:密碼)
//如果你不喜歡用這種方式 $headers = array('Authorization' =>'Basic '.'Bate64 encoding encryption'),就用下面的方法代替,一樣
//您的新浪微博登錄名
$用戶(hù)名 = ";
//您的新浪微博登錄密碼
$密碼 = ”;
$headers = array('Authorization' =>'Basic '.base64_encode('$username:$password'));
最后,在您發(fā)送博文后,一條消息將立即同步到微博
微博接口請求參數:
必需的
類(lèi)型和范圍
操作說(shuō)明
來(lái)源
錯誤的
細繩
OAuth授權方式不需要該參數,其他授權方式為必選參數,值為應用的AppKey
地位
真的
細繩
發(fā)布的微博文字內容必須經(jīng)過(guò)URL編碼,內容不得超過(guò)140個(gè)漢字。
可見(jiàn)的
錯誤的
整數
微博可見(jiàn)度,0:所有人可見(jiàn),1:只有自己可見(jiàn),2:密友可見(jiàn),3:指定群組可見(jiàn),默認為0。
訪(fǎng)問(wèn)令牌
錯誤的
細繩
OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權后獲取。
list_id
錯誤的
細繩
微博的受保護傳遞指定了組ID,僅當visible 參數為3 時(shí)才生效,并且是必需的。
緯度
錯誤的
漂浮
緯度,有效范圍:-90.0 to +90.0,+表示北緯,默認為0.0。
長(cháng)
錯誤的
漂浮
經(jīng)度,有效范圍:-180.0 to +180.0,+表示東經(jīng),默認為0.0。
注釋
錯誤的
細繩
元數據主要是為了方便第三方應用記錄一些適合自己使用的信息。每個(gè)微博可以收錄一個(gè)或多個(gè)元數據,必須以json字符串的形式提交,字符串長(cháng)度不能超過(guò)512個(gè)字符。具體內容可定制。
這幾乎是我這兩天所做的。為了測試這個(gè)同步,我變得可笑了。昨天刷了半天,呵呵。

還有一個(gè)推特機器人,可以實(shí)現一些關(guān)鍵詞自動(dòng)回復、自動(dòng)推文和常規推文,網(wǎng)址:點(diǎn)此。有英文和日文兩種語(yǔ)言,看看應該能操作。
接下來(lái)大家可以看看我同步的結果,我的推特,我的wordpress,我的新浪微博,我的騰訊微博,因為那個(gè)推特的圖片都是鏈接的形式,所以對于有圖片的推文,有同步時(shí)會(huì )報錯:missing or missing。
最后吐槽:尼瑪的FGW?。。。。。。?!
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(FanlyWeibo新浪微博同步插件(WordPress插件安裝教程)(組圖))
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 74 次瀏覽 ? 2022-01-06 08:09
Fanly微博是紫帆為WordPress程序設計開(kāi)發(fā)的新浪微博同步插件??梢栽赪ordPress發(fā)布文章時(shí)自動(dòng)將微博內容與圖文同步,支持自定義文章類(lèi)型,定時(shí)文章、微博延時(shí)同步等豐富功能。
如果您購買(mǎi)了Fanly微博新浪微博同步插件,請務(wù)必仔細閱讀以下所有操作和步驟,否則您可能無(wú)法正常使用該插件。
Fanly微博插件安裝
1.購買(mǎi)并下載Fanly-Weibo.zip插件文件;
2. 在線(xiàn)或FTP上傳并安裝Fanly微博插件并啟用。(WordPress插件安裝教程)
Fanly微博插件配置
1. 通過(guò)“WordPress后臺->設置->粉絲微博”進(jìn)入插件設置頁(yè)面(如下圖)。
2. 插件首次安裝或重置時(shí)會(huì )出現最簡(jiǎn)單的設置頁(yè)面。只能輸入微博APP Key和APP Secret才能進(jìn)入插件完成頁(yè)面。通過(guò)微博開(kāi)放平臺進(jìn)入申請頁(yè)面,如下圖填寫(xiě)并保存相應信息。
3. 設置并保存微博APP Key和APP Secret后,會(huì )顯示完整的Fanly微博插件設置頁(yè)面,如下圖:
4.微博令牌:點(diǎn)擊“獲取令牌”開(kāi)始獲取微博用戶(hù)的授權令牌,所以如果你已經(jīng)登錄微博賬號,可能會(huì )提示你授權,確認后繼續,如果出現錯誤提示出現,請先查看本用戶(hù)手冊中的“Fanly微博常見(jiàn)問(wèn)題”以查看解決方案。如果您想查看相關(guān)解決方案,請復制錯誤信息并通過(guò)Fanly微博插件頁(yè)面留給我們。
5.延遲時(shí)間:該功能是范力微博V3.3中推出的新功能。它利用WordPress的定時(shí)任務(wù)功能來(lái)延遲微博內容的同步。簡(jiǎn)單的說(shuō),當我們通過(guò)WordPress發(fā)布一篇文章文章時(shí),我不希望它盡快同步到微博,所以通過(guò)設置延遲時(shí)間,可以實(shí)現微博內容同步后文章 發(fā)布后多少分鐘。
6. 支持類(lèi)型:可能你的WordPress主題很強大,功能也很多,所以有很多自定義類(lèi)型文章或者內容。這里的插件也是支持的,所以你需要檢查一下你需要支持的類(lèi)型,以保證插件在發(fā)布的時(shí)候可以正常使用。
7.授權回調頁(yè)面:該選項不可編輯,內容作為配置微博應用信息->高級信息->OAuth2.0授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面設置, 授權回調頁(yè)面和取消授權回調頁(yè)面的填寫(xiě)方式相同。如下所示:
8. 是否支持摘要:該功能支持WordPress 文章 內容摘要支持。如果設置了摘要內容,啟用該功能會(huì )先同步摘要內容,否則插件會(huì )先提取文章 超過(guò)微博界面同步長(cháng)度的片段內容會(huì )被自動(dòng)攔截。
9. 是否默認同步:勾選后會(huì )默認同步,也可以在發(fā)布時(shí)選擇延遲/立即/取消同步文章!
10. 保存更改。完成設置后,請記得保存更改以完成所有插件配置。
微博應用設置
配置插件信息后,還需要在微博應用中設置兩個(gè)地方,一個(gè)是授權回調頁(yè)面和去授權回調頁(yè)面,一個(gè)是安全域名。
授權回調頁(yè)面/取消授權回調頁(yè)面:微博開(kāi)放平臺->我的申請->具體申請頁(yè)面->申請信息->高級信息->OAuth2.0 授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面,這兩個(gè)地址是通過(guò)插件配置頁(yè)面中的“授權回調頁(yè)面”獲取的,兩者地址相同。
安全域名:微博開(kāi)放平臺->我的應用->具體應用頁(yè)面->應用信息->基本信息,通過(guò)編輯添加當前插件網(wǎng)站所在的域名地址。
Fanly微博常見(jiàn)問(wèn)題
Q:代幣獲取失敗
A:當您點(diǎn)擊“獲取Token”頁(yè)面提示錯誤時(shí),請確認并通過(guò)“應用信息->高級信息->OAuth2.0授權設置->授權回調”設置授權回調頁(yè)面地址頁(yè)面/取消授權回調頁(yè)面”,詳細設置請參考上面范力微博插件配置中的第7步。
Q:微博無(wú)法同步的情況
A:微博無(wú)法同步可能有以下三種情況:1.token過(guò)期,您可以再次嘗試“獲取Token”;2. 微博應用未設置“安全域名”,通過(guò)“微博開(kāi)放平臺”->我的應用->具體應用頁(yè)面->應用信息->基本信息”編輯并添加安全域名; 3. 請確保微博申請已通過(guò)“審核”。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(FanlyWeibo新浪微博同步插件(WordPress插件安裝教程)(組圖))
Fanly微博是紫帆為WordPress程序設計開(kāi)發(fā)的新浪微博同步插件??梢栽赪ordPress發(fā)布文章時(shí)自動(dòng)將微博內容與圖文同步,支持自定義文章類(lèi)型,定時(shí)文章、微博延時(shí)同步等豐富功能。

如果您購買(mǎi)了Fanly微博新浪微博同步插件,請務(wù)必仔細閱讀以下所有操作和步驟,否則您可能無(wú)法正常使用該插件。
Fanly微博插件安裝
1.購買(mǎi)并下載Fanly-Weibo.zip插件文件;
2. 在線(xiàn)或FTP上傳并安裝Fanly微博插件并啟用。(WordPress插件安裝教程)
Fanly微博插件配置
1. 通過(guò)“WordPress后臺->設置->粉絲微博”進(jìn)入插件設置頁(yè)面(如下圖)。

2. 插件首次安裝或重置時(shí)會(huì )出現最簡(jiǎn)單的設置頁(yè)面。只能輸入微博APP Key和APP Secret才能進(jìn)入插件完成頁(yè)面。通過(guò)微博開(kāi)放平臺進(jìn)入申請頁(yè)面,如下圖填寫(xiě)并保存相應信息。

3. 設置并保存微博APP Key和APP Secret后,會(huì )顯示完整的Fanly微博插件設置頁(yè)面,如下圖:

4.微博令牌:點(diǎn)擊“獲取令牌”開(kāi)始獲取微博用戶(hù)的授權令牌,所以如果你已經(jīng)登錄微博賬號,可能會(huì )提示你授權,確認后繼續,如果出現錯誤提示出現,請先查看本用戶(hù)手冊中的“Fanly微博常見(jiàn)問(wèn)題”以查看解決方案。如果您想查看相關(guān)解決方案,請復制錯誤信息并通過(guò)Fanly微博插件頁(yè)面留給我們。
5.延遲時(shí)間:該功能是范力微博V3.3中推出的新功能。它利用WordPress的定時(shí)任務(wù)功能來(lái)延遲微博內容的同步。簡(jiǎn)單的說(shuō),當我們通過(guò)WordPress發(fā)布一篇文章文章時(shí),我不希望它盡快同步到微博,所以通過(guò)設置延遲時(shí)間,可以實(shí)現微博內容同步后文章 發(fā)布后多少分鐘。
6. 支持類(lèi)型:可能你的WordPress主題很強大,功能也很多,所以有很多自定義類(lèi)型文章或者內容。這里的插件也是支持的,所以你需要檢查一下你需要支持的類(lèi)型,以保證插件在發(fā)布的時(shí)候可以正常使用。
7.授權回調頁(yè)面:該選項不可編輯,內容作為配置微博應用信息->高級信息->OAuth2.0授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面設置, 授權回調頁(yè)面和取消授權回調頁(yè)面的填寫(xiě)方式相同。如下所示:

8. 是否支持摘要:該功能支持WordPress 文章 內容摘要支持。如果設置了摘要內容,啟用該功能會(huì )先同步摘要內容,否則插件會(huì )先提取文章 超過(guò)微博界面同步長(cháng)度的片段內容會(huì )被自動(dòng)攔截。
9. 是否默認同步:勾選后會(huì )默認同步,也可以在發(fā)布時(shí)選擇延遲/立即/取消同步文章!
10. 保存更改。完成設置后,請記得保存更改以完成所有插件配置。
微博應用設置
配置插件信息后,還需要在微博應用中設置兩個(gè)地方,一個(gè)是授權回調頁(yè)面和去授權回調頁(yè)面,一個(gè)是安全域名。
授權回調頁(yè)面/取消授權回調頁(yè)面:微博開(kāi)放平臺->我的申請->具體申請頁(yè)面->申請信息->高級信息->OAuth2.0 授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面,這兩個(gè)地址是通過(guò)插件配置頁(yè)面中的“授權回調頁(yè)面”獲取的,兩者地址相同。
安全域名:微博開(kāi)放平臺->我的應用->具體應用頁(yè)面->應用信息->基本信息,通過(guò)編輯添加當前插件網(wǎng)站所在的域名地址。
Fanly微博常見(jiàn)問(wèn)題
Q:代幣獲取失敗
A:當您點(diǎn)擊“獲取Token”頁(yè)面提示錯誤時(shí),請確認并通過(guò)“應用信息->高級信息->OAuth2.0授權設置->授權回調”設置授權回調頁(yè)面地址頁(yè)面/取消授權回調頁(yè)面”,詳細設置請參考上面范力微博插件配置中的第7步。
Q:微博無(wú)法同步的情況
A:微博無(wú)法同步可能有以下三種情況:1.token過(guò)期,您可以再次嘗試“獲取Token”;2. 微博應用未設置“安全域名”,通過(guò)“微博開(kāi)放平臺”->我的應用->具體應用頁(yè)面->應用信息->基本信息”編輯并添加安全域名; 3. 請確保微博申請已通過(guò)“審核”。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 63 次瀏覽 ? 2022-01-06 05:03
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序使用樂(lè )訊api同步微博內容至自己網(wǎng)站/小程序后續再深入學(xué)習一下他們的開(kāi)發(fā),避免過(guò)度依賴(lài)服務(wù)器提供的數據接口(比如接入樂(lè )訊來(lái)同步微博內容,樂(lè )訊要求返回imgurl并把imgurl指向微博地址,才能獲取微博數據),解決微博/小程序,比如需要將統計數據導出到txt保存使用lineapi同步微博內容至自己網(wǎng)站/小程序使用singaporeapi同步微博內容至自己網(wǎng)站/小程序使用信鴿api同步微博內容至自己網(wǎng)站/小程序解決小程序為復雜動(dòng)態(tài)效果而無(wú)法獲取數據(比如使用超鏈接,使用二維碼)、個(gè)人博客中的數據無(wú)法同步至公共開(kāi)放平臺,同步服務(wù)器帶寬/延遲等問(wèn)題解決博客/博客,或其他平臺markdown粘貼復制到wordpress中未能正確處理導入導出時(shí)的字符問(wèn)題歡迎繼續討論。
技術(shù)經(jīng)驗談主要是es6ajax實(shí)現
我們也在尋找有效的github同步,在微博中插入外鏈,實(shí)現博客的轉發(fā)?,F在可以關(guān)注github周報,每周都有實(shí)用技巧、github項目變化等。react中文社區不止于發(fā)布react相關(guān)信息,也包括大家經(jīng)常關(guān)注的react和node,webpack,leancloud,redis,kibana,openstack等等。
還有除了知道要發(fā)布一個(gè)react項目之外,對想要了解reactdevtools上面不斷更新的新功能,也是很關(guān)注的。沒(méi)有任何github要求,只要你的博客用戶(hù)中有使用github的,就有機會(huì )以。阿里風(fēng)投系生態(tài)圈wordpress作為谷歌公司的產(chǎn)品,受到了很多用戶(hù)的歡迎。wordpress對于html5和webpack等web基礎知識和web開(kāi)發(fā)能力是需要一定的了解的。
wordpress想要更好的發(fā)展,解決文章和靜態(tài)頁(yè)面同步問(wèn)題,最好能給用戶(hù)提供api。let'sencrypt大家都是知道的,postgresql項目的原始版本是基于let'sencrypt,其開(kāi)發(fā)思路基于這個(gè)項目,現在不止想要解決權限問(wèn)題,更希望能找到更多能夠直接解決復雜權限的api。quip最近quip處于準備上線(xiàn)狀態(tài),希望能盡快把quip升級到postgresql3.4。你可以去官網(wǎng)看看,最后放一個(gè)api網(wǎng)址/~gohlke/pythonlibs/#python33。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序)
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序使用樂(lè )訊api同步微博內容至自己網(wǎng)站/小程序后續再深入學(xué)習一下他們的開(kāi)發(fā),避免過(guò)度依賴(lài)服務(wù)器提供的數據接口(比如接入樂(lè )訊來(lái)同步微博內容,樂(lè )訊要求返回imgurl并把imgurl指向微博地址,才能獲取微博數據),解決微博/小程序,比如需要將統計數據導出到txt保存使用lineapi同步微博內容至自己網(wǎng)站/小程序使用singaporeapi同步微博內容至自己網(wǎng)站/小程序使用信鴿api同步微博內容至自己網(wǎng)站/小程序解決小程序為復雜動(dòng)態(tài)效果而無(wú)法獲取數據(比如使用超鏈接,使用二維碼)、個(gè)人博客中的數據無(wú)法同步至公共開(kāi)放平臺,同步服務(wù)器帶寬/延遲等問(wèn)題解決博客/博客,或其他平臺markdown粘貼復制到wordpress中未能正確處理導入導出時(shí)的字符問(wèn)題歡迎繼續討論。
技術(shù)經(jīng)驗談主要是es6ajax實(shí)現
我們也在尋找有效的github同步,在微博中插入外鏈,實(shí)現博客的轉發(fā)?,F在可以關(guān)注github周報,每周都有實(shí)用技巧、github項目變化等。react中文社區不止于發(fā)布react相關(guān)信息,也包括大家經(jīng)常關(guān)注的react和node,webpack,leancloud,redis,kibana,openstack等等。
還有除了知道要發(fā)布一個(gè)react項目之外,對想要了解reactdevtools上面不斷更新的新功能,也是很關(guān)注的。沒(méi)有任何github要求,只要你的博客用戶(hù)中有使用github的,就有機會(huì )以。阿里風(fēng)投系生態(tài)圈wordpress作為谷歌公司的產(chǎn)品,受到了很多用戶(hù)的歡迎。wordpress對于html5和webpack等web基礎知識和web開(kāi)發(fā)能力是需要一定的了解的。
wordpress想要更好的發(fā)展,解決文章和靜態(tài)頁(yè)面同步問(wèn)題,最好能給用戶(hù)提供api。let'sencrypt大家都是知道的,postgresql項目的原始版本是基于let'sencrypt,其開(kāi)發(fā)思路基于這個(gè)項目,現在不止想要解決權限問(wèn)題,更希望能找到更多能夠直接解決復雜權限的api。quip最近quip處于準備上線(xiàn)狀態(tài),希望能盡快把quip升級到postgresql3.4。你可以去官網(wǎng)看看,最后放一個(gè)api網(wǎng)址/~gohlke/pythonlibs/#python33。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(極客公園觀(guān)察家@NovaDNG發(fā)現新浪微博API更改內容原文)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 45 次瀏覽 ? 2022-01-05 07:00
【核心提示】新浪微博悄悄改變了API,調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。這對目前的第三方微博客戶(hù)端有什么影響?
編者按:極客公園觀(guān)察者@NovaDNG 發(fā)現新浪微博在本周二(6月18日)悄悄改變了其API,并調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。一方面,極客公園內部討論了這一變化可能帶來(lái)的影響。另一方面,采訪(fǎng)了多位知名第三方微博客戶(hù)端開(kāi)發(fā)者,聽(tīng)取他們的意見(jiàn)。當然,我們也歡迎更多的人加入討論。
原創(chuàng )演示文稿
6月18日新浪微博API變化原文引用如下(點(diǎn)此查看原文):
當前授權的應用只能讀取授權應用的當前用戶(hù)的微博,無(wú)法獲取其他用戶(hù)的微博。具體界面如下:
獲取當前登錄用戶(hù)發(fā)布的微博消息列表(2/statuses/user_timeline)
獲取當前登錄用戶(hù)發(fā)布的微博消息ID列表(2/statuses/user_timeline/ids)
當前授權的應用程序只能讀取當前授權應用程序的用戶(hù)的關(guān)系,不能讀取其他用戶(hù)的關(guān)系。具體界面如下:
獲取用戶(hù)的關(guān)注列表(2/riendships/friends)
獲取普通關(guān)注者列表(2/friendships/friends/in_common)
獲取雙向觀(guān)察名單(2/友誼/朋友/雙邊)
獲取雙向關(guān)注UID列表(2/friendships/friends/bilateral/ids)
獲取用戶(hù)關(guān)注對象的UID列表(2/friendships/friends/ids)
獲取用戶(hù)的粉絲列表(2/friendships/followers)
獲取用戶(hù)的粉絲UID列表(2/friendships/followers/ids)
獲取用戶(hù)優(yōu)質(zhì)粉絲列表(2/好友/關(guān)注/活躍)
初步解釋
在仔細研究了這一變化后,我們內部的討論得出了兩種不同的觀(guān)點(diǎn):
意見(jiàn)1:這些變化生效后,現有的第三方客戶(hù)端將失去:
閱讀用戶(hù)的主要時(shí)間線(xiàn)、評論和轉發(fā)功能(一般第三方客戶(hù)端的三大功能)
查看其他用戶(hù)的微博內容
查看其他用戶(hù)的關(guān)注和粉絲功能
微博搜索、用戶(hù)搜索等相關(guān)功能
總之,生效后,第三方客戶(hù)端基本失效,用戶(hù)只會(huì )看到:
微博
自己的追隨者和粉絲/活躍粉絲
我自己和另一個(gè)用戶(hù)的共同關(guān)心
觀(guān)點(diǎn)2:這只是新浪又一次強迫所有用戶(hù)重新授權他們的第三方客戶(hù)端:
從原文的寫(xiě)法來(lái)看,這些改動(dòng)都是針對“授權客戶(hù)端”的,所以這次改動(dòng)的效果就是取消了授權客戶(hù)端的主要功能。當用戶(hù)重新授權時(shí),可以恢復原來(lái)的功能。設計這個(gè)變化的原因是:
這是一個(gè)強制所有用戶(hù)重新授權第三方客戶(hù)端的過(guò)程
提高數據爬取難度,針對已有的微博爬取數據行為
之后,微博可能會(huì )為商業(yè)用戶(hù)提供專(zhuān)門(mén)的數據分析接口和服務(wù),就像現在的推特一樣
各種意見(jiàn)
安卓平臺第三方微博客戶(hù)端第四維度開(kāi)發(fā)者@進(jìn)擊的心頭反對上述第二種解釋。他認為更新后的API是同一個(gè)地址,也就是說(shuō),原來(lái)的API是什么權限,重新授權后或者是什么權限。舊界面和新界面沒(méi)有區別,未來(lái)將不再允許第三方應用訪(fǎng)問(wèn)其他用戶(hù)的微博列表。更新生效后,第三方應用將無(wú)法掃描微博列表,并出現“當前應用無(wú)權限”等錯誤提示。
隨后我們采訪(fǎng)了安卓平臺另一知名微博客戶(hù)端Fuubo的開(kāi)發(fā)者@RefacTech碎星。他已經(jīng)在微博上表達了對此次API變更的擔憂(yōu)。在他看來(lái),與新浪微博有官方合作關(guān)系的第三方應用,如Weico、Weige、ZAKER(該應用內置微博閱讀功能,也可以視為第三方客戶(hù)端),可能不會(huì )受到太大影響。,但其他一些自主開(kāi)發(fā)的客戶(hù)端也難逃他們的命運。不過(guò),他也指出,即使新浪微博收緊API,第三方應用仍能以微博內容聚合閱讀的形式繼續存在,不會(huì )完全消亡。
昨天下午(6月23日),新浪微博開(kāi)放平臺@微博開(kāi)平臺的驗證賬號給@RefacTech碎星發(fā)消息,稱(chēng)此次升級對第三方微博客戶(hù)端沒(méi)有影響。
我們還聯(lián)系了iOS平臺微博客戶(hù)端Weige的開(kāi)發(fā)者,但截至發(fā)稿,他們并未對此發(fā)表評論。
主要問(wèn)題
綜合整個(gè)討論過(guò)程和討論內容,我們發(fā)現主要分歧點(diǎn)在于原創(chuàng )API更新日志中的“當前已授權應用”,由此提出以下問(wèn)題:
這是針對“已授權應用程序”還是針對所有第三方應用程序(無(wú)論它們是否經(jīng)過(guò)用戶(hù)重新授權)的更改?
如果是第三方應用,會(huì )不會(huì )影響商業(yè)支付接口的第三方客戶(hù)端?
這種變化背后的考慮是什么? 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(極客公園觀(guān)察家@NovaDNG發(fā)現新浪微博API更改內容原文)
【核心提示】新浪微博悄悄改變了API,調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。這對目前的第三方微博客戶(hù)端有什么影響?
編者按:極客公園觀(guān)察者@NovaDNG 發(fā)現新浪微博在本周二(6月18日)悄悄改變了其API,并調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。一方面,極客公園內部討論了這一變化可能帶來(lái)的影響。另一方面,采訪(fǎng)了多位知名第三方微博客戶(hù)端開(kāi)發(fā)者,聽(tīng)取他們的意見(jiàn)。當然,我們也歡迎更多的人加入討論。
原創(chuàng )演示文稿
6月18日新浪微博API變化原文引用如下(點(diǎn)此查看原文):
當前授權的應用只能讀取授權應用的當前用戶(hù)的微博,無(wú)法獲取其他用戶(hù)的微博。具體界面如下:
獲取當前登錄用戶(hù)發(fā)布的微博消息列表(2/statuses/user_timeline)
獲取當前登錄用戶(hù)發(fā)布的微博消息ID列表(2/statuses/user_timeline/ids)
當前授權的應用程序只能讀取當前授權應用程序的用戶(hù)的關(guān)系,不能讀取其他用戶(hù)的關(guān)系。具體界面如下:
獲取用戶(hù)的關(guān)注列表(2/riendships/friends)
獲取普通關(guān)注者列表(2/friendships/friends/in_common)
獲取雙向觀(guān)察名單(2/友誼/朋友/雙邊)
獲取雙向關(guān)注UID列表(2/friendships/friends/bilateral/ids)
獲取用戶(hù)關(guān)注對象的UID列表(2/friendships/friends/ids)
獲取用戶(hù)的粉絲列表(2/friendships/followers)
獲取用戶(hù)的粉絲UID列表(2/friendships/followers/ids)
獲取用戶(hù)優(yōu)質(zhì)粉絲列表(2/好友/關(guān)注/活躍)
初步解釋
在仔細研究了這一變化后,我們內部的討論得出了兩種不同的觀(guān)點(diǎn):
意見(jiàn)1:這些變化生效后,現有的第三方客戶(hù)端將失去:
閱讀用戶(hù)的主要時(shí)間線(xiàn)、評論和轉發(fā)功能(一般第三方客戶(hù)端的三大功能)
查看其他用戶(hù)的微博內容
查看其他用戶(hù)的關(guān)注和粉絲功能
微博搜索、用戶(hù)搜索等相關(guān)功能
總之,生效后,第三方客戶(hù)端基本失效,用戶(hù)只會(huì )看到:
微博
自己的追隨者和粉絲/活躍粉絲
我自己和另一個(gè)用戶(hù)的共同關(guān)心
觀(guān)點(diǎn)2:這只是新浪又一次強迫所有用戶(hù)重新授權他們的第三方客戶(hù)端:
從原文的寫(xiě)法來(lái)看,這些改動(dòng)都是針對“授權客戶(hù)端”的,所以這次改動(dòng)的效果就是取消了授權客戶(hù)端的主要功能。當用戶(hù)重新授權時(shí),可以恢復原來(lái)的功能。設計這個(gè)變化的原因是:
這是一個(gè)強制所有用戶(hù)重新授權第三方客戶(hù)端的過(guò)程
提高數據爬取難度,針對已有的微博爬取數據行為
之后,微博可能會(huì )為商業(yè)用戶(hù)提供專(zhuān)門(mén)的數據分析接口和服務(wù),就像現在的推特一樣
各種意見(jiàn)
安卓平臺第三方微博客戶(hù)端第四維度開(kāi)發(fā)者@進(jìn)擊的心頭反對上述第二種解釋。他認為更新后的API是同一個(gè)地址,也就是說(shuō),原來(lái)的API是什么權限,重新授權后或者是什么權限。舊界面和新界面沒(méi)有區別,未來(lái)將不再允許第三方應用訪(fǎng)問(wèn)其他用戶(hù)的微博列表。更新生效后,第三方應用將無(wú)法掃描微博列表,并出現“當前應用無(wú)權限”等錯誤提示。
隨后我們采訪(fǎng)了安卓平臺另一知名微博客戶(hù)端Fuubo的開(kāi)發(fā)者@RefacTech碎星。他已經(jīng)在微博上表達了對此次API變更的擔憂(yōu)。在他看來(lái),與新浪微博有官方合作關(guān)系的第三方應用,如Weico、Weige、ZAKER(該應用內置微博閱讀功能,也可以視為第三方客戶(hù)端),可能不會(huì )受到太大影響。,但其他一些自主開(kāi)發(fā)的客戶(hù)端也難逃他們的命運。不過(guò),他也指出,即使新浪微博收緊API,第三方應用仍能以微博內容聚合閱讀的形式繼續存在,不會(huì )完全消亡。
昨天下午(6月23日),新浪微博開(kāi)放平臺@微博開(kāi)平臺的驗證賬號給@RefacTech碎星發(fā)消息,稱(chēng)此次升級對第三方微博客戶(hù)端沒(méi)有影響。
我們還聯(lián)系了iOS平臺微博客戶(hù)端Weige的開(kāi)發(fā)者,但截至發(fā)稿,他們并未對此發(fā)表評論。
主要問(wèn)題
綜合整個(gè)討論過(guò)程和討論內容,我們發(fā)現主要分歧點(diǎn)在于原創(chuàng )API更新日志中的“當前已授權應用”,由此提出以下問(wèn)題:
這是針對“已授權應用程序”還是針對所有第三方應用程序(無(wú)論它們是否經(jīng)過(guò)用戶(hù)重新授權)的更改?
如果是第三方應用,會(huì )不會(huì )影響商業(yè)支付接口的第三方客戶(hù)端?
這種變化背后的考慮是什么?
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這里有新鮮出爐的精品教程,程序狗速度看過(guò)來(lái)!)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 63 次瀏覽 ? 2022-01-04 08:07
這里是新鮮出品的優(yōu)質(zhì)教程,看程序狗的速度!
新浪微博 新浪微博是新浪網(wǎng)為提供微博服務(wù)而推出的一種推特網(wǎng)站。用戶(hù)可以通過(guò)網(wǎng)頁(yè)、WAP頁(yè)面、手機客戶(hù)端、手機短信、彩信發(fā)布消息或上傳圖片。新浪可以將微博理解為“微博”或“一句話(huà)博客”。
本文講解了新浪微博API開(kāi)發(fā)介紹(PHP基礎)的用戶(hù)授權,有興趣的同學(xué)可以參考。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博整理講解API開(kāi)發(fā)的內容
現在玩微博的人越來(lái)越多,微博上的第三方應用開(kāi)??發(fā)也越來(lái)越多。無(wú)意中開(kāi)始接觸新浪微博API開(kāi)發(fā),新浪微博API開(kāi)發(fā)資源更多時(shí)候,新浪微博為開(kāi)發(fā)者提供了一個(gè)平臺。網(wǎng)站為: 收錄新浪微博開(kāi)發(fā)的綜合信息,包括開(kāi)發(fā)者的使用和介紹、各種語(yǔ)言的API功能介紹文檔、SDK等多種資料。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習的過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博對API開(kāi)發(fā)的內容進(jìn)行整理和講解,
新浪微博API開(kāi)發(fā)前的準備工作
首先到新浪微博開(kāi)放平臺下載基于PHP的SDK開(kāi)發(fā)包,下載地址為:
下載完成后,放到自己的開(kāi)發(fā)環(huán)境中解壓。演示程序也包括在內??梢詤⒖计涫纠绦蜻M(jìn)行編寫(xiě)。
新浪微博API開(kāi)發(fā)最重要的用戶(hù)授權流程
其實(shí)開(kāi)發(fā)過(guò)程中的很多問(wèn)題都集中在用戶(hù)授權階段。我開(kāi)發(fā)的第三方應用使用的是OAuth授權。新浪微博開(kāi)放平臺的OAuth授權流程非常清晰完整。介紹,大家可以去看看,我會(huì )從實(shí)例開(kāi)發(fā)的角度介紹和講解。
1.先獲取未授權的Request Token
$o = new WeiboOAuth(WB_AKEY, WB_SKEY);
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].':'.$keys['oauth_token_secret']);
我們需要在新浪微博開(kāi)放平臺注冊一個(gè)賬號,或者直接用我們的新浪微博賬號登錄,進(jìn)入我的應用,然后按照提示創(chuàng )建我們自己的第三方應用。創(chuàng )建完成后,我們可以得到兩個(gè)授權的App Key和App Secret值,這兩個(gè)值是我們應用開(kāi)發(fā)的關(guān)鍵。
獲得授權值后,我們可以通過(guò)上面的代碼獲取未授權的Request Token值,該值會(huì )保存在$key數組變量中。
2.然后請求用戶(hù)授權令牌
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false,'#39;);
獲取到未授權Request Token值后,我們可以使用上面的代碼準備去新浪微博授權頁(yè)面進(jìn)行授權。 $aurl 是授權鏈接頁(yè)面。拿到$aurl后,我們可以使用header()直接跳轉到授權頁(yè)面,然后用戶(hù)輸入新浪微博賬號和密碼進(jìn)行授權。授權完成后會(huì )自動(dòng)跳轉回你最后一個(gè)參數設置的回調頁(yè)面:這個(gè)鏈接可以設置為上一個(gè)頁(yè)面,授權完成后會(huì )自動(dòng)再跳轉回來(lái)。
需要注意的是,需要設置session key的值。下面獲得的授權訪(fǎng)問(wèn)令牌中需要它。很多朋友可能會(huì )參考開(kāi)放平臺上的說(shuō)明進(jìn)行授權,但是發(fā)現總是報錯。這通常是問(wèn)題所在。您尚未設置會(huì )話(huà)的鍵值。當然,下面無(wú)法獲取Access Token的值。這個(gè)一定要記住。
3.用戶(hù)最后授權的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']);
以上代碼最終獲得了用戶(hù)授權的Access Token。有兩個(gè)值,它們存儲在 $last_key 數組變量中。我們也可以看到最后兩個(gè)參數是我們之前設置的session值。至此,基本完成。這是一個(gè)完整的新浪微博用戶(hù)授權流程。
授權完成后工作
授權完成后,我們就可以開(kāi)始調用新浪微博提供的各種API函數接口進(jìn)行實(shí)際應用開(kāi)發(fā)了。這里我簡(jiǎn)單介紹一下獲取最新微博記錄的界面。其他類(lèi)似。
獲取新浪微博最新信息的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 "發(fā)生錯誤";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code:'.$msg['error_code'].'; Error:'.$msg['error']);
返回假;
}
print_r($msg);
通常我們拿到用戶(hù)授權的access token值后,會(huì )保存在我們的user表中,對應我們應用中的賬號。之后,我們就不用每次都調用每個(gè)新浪微博API接口了。我一直都在考認證。
上面的代碼很簡(jiǎn)單,實(shí)例化WeiboClient對象,然后直接調用接口函數public_timeline獲取返回的信息,如果沒(méi)有報錯。通常新浪微博api接口返回的數據格式一般是Json格式或者xml格式,而我們這里是用php開(kāi)發(fā)的,那么使用Json格式數據有先天優(yōu)勢,如果返回Json格式數據,直接使用php即可。函數json_decode()可以轉換成PHP常用的數組格式。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這里有新鮮出爐的精品教程,程序狗速度看過(guò)來(lái)!)
這里是新鮮出品的優(yōu)質(zhì)教程,看程序狗的速度!
新浪微博 新浪微博是新浪網(wǎng)為提供微博服務(wù)而推出的一種推特網(wǎng)站。用戶(hù)可以通過(guò)網(wǎng)頁(yè)、WAP頁(yè)面、手機客戶(hù)端、手機短信、彩信發(fā)布消息或上傳圖片。新浪可以將微博理解為“微博”或“一句話(huà)博客”。
本文講解了新浪微博API開(kāi)發(fā)介紹(PHP基礎)的用戶(hù)授權,有興趣的同學(xué)可以參考。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博整理講解API開(kāi)發(fā)的內容
現在玩微博的人越來(lái)越多,微博上的第三方應用開(kāi)??發(fā)也越來(lái)越多。無(wú)意中開(kāi)始接觸新浪微博API開(kāi)發(fā),新浪微博API開(kāi)發(fā)資源更多時(shí)候,新浪微博為開(kāi)發(fā)者提供了一個(gè)平臺。網(wǎng)站為: 收錄新浪微博開(kāi)發(fā)的綜合信息,包括開(kāi)發(fā)者的使用和介紹、各種語(yǔ)言的API功能介紹文檔、SDK等多種資料。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習的過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博對API開(kāi)發(fā)的內容進(jìn)行整理和講解,
新浪微博API開(kāi)發(fā)前的準備工作
首先到新浪微博開(kāi)放平臺下載基于PHP的SDK開(kāi)發(fā)包,下載地址為:
下載完成后,放到自己的開(kāi)發(fā)環(huán)境中解壓。演示程序也包括在內??梢詤⒖计涫纠绦蜻M(jìn)行編寫(xiě)。
新浪微博API開(kāi)發(fā)最重要的用戶(hù)授權流程
其實(shí)開(kāi)發(fā)過(guò)程中的很多問(wèn)題都集中在用戶(hù)授權階段。我開(kāi)發(fā)的第三方應用使用的是OAuth授權。新浪微博開(kāi)放平臺的OAuth授權流程非常清晰完整。介紹,大家可以去看看,我會(huì )從實(shí)例開(kāi)發(fā)的角度介紹和講解。
1.先獲取未授權的Request Token
$o = new WeiboOAuth(WB_AKEY, WB_SKEY);
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].':'.$keys['oauth_token_secret']);
我們需要在新浪微博開(kāi)放平臺注冊一個(gè)賬號,或者直接用我們的新浪微博賬號登錄,進(jìn)入我的應用,然后按照提示創(chuàng )建我們自己的第三方應用。創(chuàng )建完成后,我們可以得到兩個(gè)授權的App Key和App Secret值,這兩個(gè)值是我們應用開(kāi)發(fā)的關(guān)鍵。
獲得授權值后,我們可以通過(guò)上面的代碼獲取未授權的Request Token值,該值會(huì )保存在$key數組變量中。
2.然后請求用戶(hù)授權令牌
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false,'#39;);
獲取到未授權Request Token值后,我們可以使用上面的代碼準備去新浪微博授權頁(yè)面進(jìn)行授權。 $aurl 是授權鏈接頁(yè)面。拿到$aurl后,我們可以使用header()直接跳轉到授權頁(yè)面,然后用戶(hù)輸入新浪微博賬號和密碼進(jìn)行授權。授權完成后會(huì )自動(dòng)跳轉回你最后一個(gè)參數設置的回調頁(yè)面:這個(gè)鏈接可以設置為上一個(gè)頁(yè)面,授權完成后會(huì )自動(dòng)再跳轉回來(lái)。
需要注意的是,需要設置session key的值。下面獲得的授權訪(fǎng)問(wèn)令牌中需要它。很多朋友可能會(huì )參考開(kāi)放平臺上的說(shuō)明進(jìn)行授權,但是發(fā)現總是報錯。這通常是問(wèn)題所在。您尚未設置會(huì )話(huà)的鍵值。當然,下面無(wú)法獲取Access Token的值。這個(gè)一定要記住。
3.用戶(hù)最后授權的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']);
以上代碼最終獲得了用戶(hù)授權的Access Token。有兩個(gè)值,它們存儲在 $last_key 數組變量中。我們也可以看到最后兩個(gè)參數是我們之前設置的session值。至此,基本完成。這是一個(gè)完整的新浪微博用戶(hù)授權流程。
授權完成后工作
授權完成后,我們就可以開(kāi)始調用新浪微博提供的各種API函數接口進(jìn)行實(shí)際應用開(kāi)發(fā)了。這里我簡(jiǎn)單介紹一下獲取最新微博記錄的界面。其他類(lèi)似。
獲取新浪微博最新信息的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 "發(fā)生錯誤";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code:'.$msg['error_code'].'; Error:'.$msg['error']);
返回假;
}
print_r($msg);
通常我們拿到用戶(hù)授權的access token值后,會(huì )保存在我們的user表中,對應我們應用中的賬號。之后,我們就不用每次都調用每個(gè)新浪微博API接口了。我一直都在考認證。
上面的代碼很簡(jiǎn)單,實(shí)例化WeiboClient對象,然后直接調用接口函數public_timeline獲取返回的信息,如果沒(méi)有報錯。通常新浪微博api接口返回的數據格式一般是Json格式或者xml格式,而我們這里是用php開(kāi)發(fā)的,那么使用Json格式數據有先天優(yōu)勢,如果返回Json格式數據,直接使用php即可。函數json_decode()可以轉換成PHP常用的數組格式。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么使用新浪微博JavaSDK創(chuàng )建應用程序,主要用于應用程序密鑰和秘密)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 50 次瀏覽 ? 2022-01-04 08:06
但是,新浪提供的API比較繁瑣,尤其是Java。三個(gè)版本的JavaAPI將你的蛋蛋打到極致:AndroidSDK真是逆天。由于新浪微博把V1改成了V2,就不能用了,所以只能用剩下的兩個(gè)了。但是當你下載一個(gè)非常困難的版本時(shí),你只能得到代碼,而不能得到accesstoken。打開(kāi)源碼,點(diǎn)擊里面的mainactivity,發(fā)現要切雞了:別著(zhù)急,新浪已經(jīng)提供了把代碼改成token的方法,不過(guò)不是在A(yíng)ndroidSDK中,而是在weibo4j中:。
微博wp7平臺SDK使用說(shuō)明:如何使用新浪微博Java SDK
創(chuàng )建應用程序,主要用于應用程序密鑰和秘密密鑰。請參考官方文檔:2、下載新浪微薄的SDK,本文使用java。請先填寫(xiě)3、配置:client_。在配置中。屬性
為什么運行新浪微博微博SDKDemo報錯
誰(shuí)知道呢。 eclipsesdk使用說(shuō)明。
有照片嗎? mt4平臺使用說(shuō)明。
如何使用新浪微博開(kāi)放平臺的JavaSDK?
用雞下蛋,提高聲譽(yù),最終獲利。有錢(qián)了,去逛菜市場(chǎng),然后就成為菜市場(chǎng)的主人了!你明白嗎? .
微博wp7平臺SDK使用說(shuō)明:如何使用騰訊微博開(kāi)放平臺的java SDK
1、進(jìn)入開(kāi)放平臺首頁(yè); mt5平臺使用說(shuō)明。
2、 仔細閱讀官方公開(kāi)的 API 文檔。
聽(tīng)起來(lái)很糟糕,但你只能這樣做。
PS:特別提醒,一定要閱讀官方文檔,不要在網(wǎng)上搜索那些亂七八糟的帖子。他們中的許多人都是騙子。新浪微博開(kāi)放平臺的JavaSDK是否使用了在自動(dòng)關(guān)注的基礎上可以使用的quicksdk插件平臺?
這完全有可能
如何使用新浪微博SDK
1 首先下載新浪微博SDK包
在新浪微博申請開(kāi)發(fā)者賬號,在開(kāi)發(fā)過(guò)程中使用開(kāi)發(fā)者的秘鑰和秘鑰SDK平臺。
我申請中的具體申請方法,過(guò)程很簡(jiǎn)單,不再贅述
打開(kāi)下載的sdk包demo工程,將demo工程中新浪微博SDK下的所有文件復制到自己的工程中
很多朋友都犯了這個(gè)錯誤。根據官方文檔,將整個(gè)src包加載到程序中是一個(gè)奇怪的錯誤
這樣的話(huà),一些原來(lái)的程序會(huì )和文件名沖突,找不到具體的文件,很郁悶
將demo中viewdidload函數的初始化數據復制到自己的程序中并加載。然后在函數中,加載自己的處理,如果想直接分享就調用
-(void): (NS String*) text image: (UIImage*) 圖像,發(fā)送信息,圖像信息可以直接添加到圖像數據中。 . 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么使用新浪微博JavaSDK創(chuàng )建應用程序,主要用于應用程序密鑰和秘密)
但是,新浪提供的API比較繁瑣,尤其是Java。三個(gè)版本的JavaAPI將你的蛋蛋打到極致:AndroidSDK真是逆天。由于新浪微博把V1改成了V2,就不能用了,所以只能用剩下的兩個(gè)了。但是當你下載一個(gè)非常困難的版本時(shí),你只能得到代碼,而不能得到accesstoken。打開(kāi)源碼,點(diǎn)擊里面的mainactivity,發(fā)現要切雞了:別著(zhù)急,新浪已經(jīng)提供了把代碼改成token的方法,不過(guò)不是在A(yíng)ndroidSDK中,而是在weibo4j中:。
微博wp7平臺SDK使用說(shuō)明:如何使用新浪微博Java SDK
創(chuàng )建應用程序,主要用于應用程序密鑰和秘密密鑰。請參考官方文檔:2、下載新浪微薄的SDK,本文使用java。請先填寫(xiě)3、配置:client_。在配置中。屬性
為什么運行新浪微博微博SDKDemo報錯
誰(shuí)知道呢。 eclipsesdk使用說(shuō)明。
有照片嗎? mt4平臺使用說(shuō)明。
如何使用新浪微博開(kāi)放平臺的JavaSDK?
用雞下蛋,提高聲譽(yù),最終獲利。有錢(qián)了,去逛菜市場(chǎng),然后就成為菜市場(chǎng)的主人了!你明白嗎? .
微博wp7平臺SDK使用說(shuō)明:如何使用騰訊微博開(kāi)放平臺的java SDK
1、進(jìn)入開(kāi)放平臺首頁(yè); mt5平臺使用說(shuō)明。
2、 仔細閱讀官方公開(kāi)的 API 文檔。
聽(tīng)起來(lái)很糟糕,但你只能這樣做。
PS:特別提醒,一定要閱讀官方文檔,不要在網(wǎng)上搜索那些亂七八糟的帖子。他們中的許多人都是騙子。新浪微博開(kāi)放平臺的JavaSDK是否使用了在自動(dòng)關(guān)注的基礎上可以使用的quicksdk插件平臺?
這完全有可能
如何使用新浪微博SDK
1 首先下載新浪微博SDK包
在新浪微博申請開(kāi)發(fā)者賬號,在開(kāi)發(fā)過(guò)程中使用開(kāi)發(fā)者的秘鑰和秘鑰SDK平臺。
我申請中的具體申請方法,過(guò)程很簡(jiǎn)單,不再贅述
打開(kāi)下載的sdk包demo工程,將demo工程中新浪微博SDK下的所有文件復制到自己的工程中
很多朋友都犯了這個(gè)錯誤。根據官方文檔,將整個(gè)src包加載到程序中是一個(gè)奇怪的錯誤
這樣的話(huà),一些原來(lái)的程序會(huì )和文件名沖突,找不到具體的文件,很郁悶
將demo中viewdidload函數的初始化數據復制到自己的程序中并加載。然后在函數中,加載自己的處理,如果想直接分享就調用
-(void): (NS String*) text image: (UIImage*) 圖像,發(fā)送信息,圖像信息可以直接添加到圖像數據中。 .
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(OAuth2.0協(xié)議授權流程查看/access_token獲取)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 74 次瀏覽 ? 2022-01-04 00:01
一、OAuth2.0概覽
大多數API訪(fǎng)問(wèn),如發(fā)布微博、獲取私信、關(guān)注等,都需要用戶(hù)身份。目前新浪微博開(kāi)放平臺用戶(hù)身份認證包括OAuth2.0和Basic Auth(僅用于應用開(kāi)發(fā)Debugging接口),新版接口也僅支持這兩種方式。 OAuth2.0比1.0的整個(gè)授權驗證過(guò)程更簡(jiǎn)單、更安全,也是未來(lái)最重要的用戶(hù)認證和授權方式。 OAuth2.0協(xié)議授權流程見(jiàn)OAuth2.0授權流程,其中Client指第三方應用,Resource Owner指用戶(hù),Authorization Server是我們的授權服務(wù)器,Resource Server是API 服務(wù)器。
參考鏈接:以及新浪微博開(kāi)放平臺和新浪微博CodeProject開(kāi)源項目
開(kāi)發(fā)者可以先瀏覽OAuth2.0的接口文檔,熟悉OAuth2接口和參數的含義,然后根據應用場(chǎng)景講解如何使用OAuth2.0 .
OAuth2 接口文檔
接口說(shuō)明
OAuth2/授權
請求用戶(hù)授權令牌
OAuth2/access_token
獲取授權訪(fǎng)問(wèn)令牌
OAuth2/get_token_info
授權信息查詢(xún)界面
OAuth2/revokeoauth2
授權恢復接口
OAuth2/get_oauth2_token
OAuth1.0的Access Token替換為OAuth2.0的Access Token
二、OAuth2.0 新浪授權頁(yè)面
1、 首先需要獲取appKey和appSecret。這種獲取方式可以在新浪微博新手指南中一步步獲取。這里的回調地址使用默認的:網(wǎng)站訪(fǎng)問(wèn)方式。以下是C#示例源代碼(控制臺應用程序):
01.using System;
02.using System.Collections.Generic;
03.using System.Linq;
04.using System.Text;
05.using NetDimension.Weibo;
06.using System.Net;
07.
08.namespace SinaWeiboTestApp
09.{
10. class Program
11. {
12.
13. static void Main(string[] args)
14. {
15.
16. string appkey = "124543453288";
17. string appsecret = "3a456c5332fd2cb1178338fccb9fa51c";
18. //string callBack = "http://127.0.0.1:3170/WebSite2/Default.aspx";
19. string callBack = "https://api.weibo.com/oauth2/default.html";
20. var oauth = new NetDimension.Weibo.OAuth(appkey,appsecret,callBack);
21.
22. ////模擬登錄
23. //string username = "xxxxxxxx@163.com";
24. //string password = "xxxxxxx";
25. //oauth.ClientLogin(username, password); //模擬登錄下,沒(méi)啥好說(shuō)的,你也可以改成標準登錄。
26.
27. //標準登錄
28. var authUrl = oauth.GetAuthorizeURL();
29. //string redirectUrl;
30. //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(authUrl);
31. //request.Referer = authUrl;
32. //request.AllowAutoRedirect = false;
33. //using (WebResponse response = request.GetResponse())
34. //{
35. // redirectUrl = response.Headers["Location"];
36. // redirectUrl = response.ResponseUri.AbsolutePath;
37. //}
38. System.Diagnostics.Process.Start(authUrl);
39. Console.WriteLine("填寫(xiě)瀏覽器地址中的Code參數:");
40. var code = Console.ReadLine();
41. var accessToken = oauth.GetAccessTokenByAuthorizationCode(code);
42. if (!string.IsNullOrEmpty(accessToken.Token))
43. {
44. var sina = new NetDimension.Weibo.Client(oauth);
45. var uid = sina.API.Dynamic.Account.GetUID(); //調用API中獲取UID的方法
46. Console.WriteLine(uid);
47. }
48.
49. var Sina = new Client(oauth);
50. Console.WriteLine("開(kāi)始發(fā)送異步請求...");
51.
52. //例子1:異步獲取用戶(hù)的ID
53. //demo的運行環(huán)境是.net 4.0,下面展示的這種方法在2.0及以上版本環(huán)境下有效,3.0以上可以用lambda表達式來(lái)簡(jiǎn)化delegate的蛋疼寫(xiě)法,請看下面的例子。
54. Sina.AsyncInvoke(
55. //第一個(gè)代理中編寫(xiě)調用API接口的相關(guān)邏輯
56. delegate()
57. {
58. Console.WriteLine("發(fā)送請求來(lái)獲得用戶(hù)ID...");
59. System.Threading.Thread.Sleep(8000); //等待8秒
60. return Sina.API.Entity.Account.GetUID();
61. },
62. //第二個(gè)代理為回調函數,異步完成后將自動(dòng)調用這個(gè)函數來(lái)處理結果。
63. delegate(AsyncCallback callback)
64. {
65. if (callback.IsSuccess)
66. {
67. Console.WriteLine("獲取用戶(hù)ID成功,ID:{0}", callback.Data);
68. }
69. else
70. {
71. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
72. }
73. }
74. );
75.
76. //列子2:獲取公共微博列表
77. //2.0以上用lambda來(lái)寫(xiě),方便不是一點(diǎn)點(diǎn)
78. Sina.AsyncInvoke(() =>
79. {
80. //獲取微博,接口調用,返回值是個(gè)NetDimension.Weibo.Entities.status.Collection,所以泛型T為NetDimension.Weibo.Entities.status.Collection
81. Console.WriteLine("發(fā)送請求來(lái)獲得公共微博列表...");
82. return Sina.API.Entity.Statuses.PublicTimeline();
83. //return Sina.API.Entity.Statuses.RepostTimeline;
84. }, (callback) =>
85. {
86. if (callback.IsSuccess)
87. {
88. //異步完成后處理結果,result就是返回的結果,類(lèi)型就是泛型所指定的NetDimension.Weibo.Entities.status.Collection
89. Console.WriteLine("獲得公共微博列表成功,現在公共頻道發(fā)微博的人都是他們:");
90. foreach (var status in callback.Data.Statuses)
91. {
92. if (status.User != null)
93. Console.WriteLine(status.User.ScreenName + " ");//打印公共微博發(fā)起人的姓名
94. }
95. Console.WriteLine();
96. }
97. else
98. {
99. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
100. }
101.
102. });
103.
104.
105. Console.WriteLine("已發(fā)送所有異步請求。等待異步執行完成...");
106.
107. Console.ReadKey(); //阻塞,等待異步調用執行完成
108.
109. }
110.
111. }
112.}
MVC 中的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Myself.Models;
using Myself.Code;
using BLL;
using Lib;
using SpeexToWavToMp3;
using System.Web.Http.Filters;
using Models;
using Webdiyer.WebControls.Mvc;
using System.IO;
namespace Myself.Controllers
{
public class MySelfController : Controller
{
public ActionResult LoginSina()
{
var oauth = new NetDimension.Weibo.OAuth(appKey,appSecret,Url.Action("LoginSinaResult", "MySelf", null, "http"));
//第一步獲取新浪授權頁(yè)面的地址
var oauthUrl = oauth.GetAuthorizeURL();
return Redirect(oauthUrl);
}
public ActionResult LoginSinaResult(string code)
{
var oauth = new NetDimension.Weibo.OAuth(appKey, appSecret, Url.Action("LoginSinaResult", "MySelf", null, "http"));
var oauthToken = oauth.GetAccessTokenByAuthorizationCode(code);
var model = UserHelper.GetAuthorizeInfo(oauthToken.UID, 1);
if (model != null)
{
if (LoginHelper.UserLogin(model.UserID, 1, oauthToken.UID, Request.UserAgent, Request.UserHostAddress, "1", "web"))
{
return RedirectToAction("Index", "Home");
}
else
{
return Content("登錄失敗");
}
}
return Content("您尚未注冊");
}
}
}
要運行上述程序,需要替換Appkey和Appsecret。
2、授權頁(yè)面
以下是提示微博登錄的界面,登錄后第三方網(wǎng)站授權訪(fǎng)問(wèn)您在新浪微博賬號上的資源
將提供。
3、授權訪(fǎng)問(wèn)頁(yè)面
4、新浪官方網(wǎng)站提供API測試工具來(lái)測試客戶(hù)端構造的參數是否正確
5、Oauth2.0 操作流程圖
第一步:首先直接跳轉到用戶(hù)授權地址,即圖標Request User Url,提示用戶(hù)登錄,授權相關(guān)資源獲取唯一Auth code。這里注意代碼只有10分鐘的有效時(shí)間出于安全考慮,相比OAuth1.0,它節省了一步獲取臨時(shí)token,而且有效期也得到了控制,比1.0簡(jiǎn)單多了,安全多了@1.0 認證;第二步:獲取代碼授權后,這一步是請求訪(fǎng)問(wèn)令牌,使用圖標請求訪(fǎng)問(wèn)url生成數據令牌;第三步:通過(guò)Access Token請求OpenID,openid是用戶(hù)在本平臺的唯一標識,通過(guò)圖標Request info url請求,然后得到OpenID;第四步:通過(guò)第二步獲取的數據Token、第三步獲取的OpenID以及相關(guān)API,請求獲取用戶(hù)授權的資源信息 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(OAuth2.0協(xié)議授權流程查看/access_token獲取)
一、OAuth2.0概覽
大多數API訪(fǎng)問(wèn),如發(fā)布微博、獲取私信、關(guān)注等,都需要用戶(hù)身份。目前新浪微博開(kāi)放平臺用戶(hù)身份認證包括OAuth2.0和Basic Auth(僅用于應用開(kāi)發(fā)Debugging接口),新版接口也僅支持這兩種方式。 OAuth2.0比1.0的整個(gè)授權驗證過(guò)程更簡(jiǎn)單、更安全,也是未來(lái)最重要的用戶(hù)認證和授權方式。 OAuth2.0協(xié)議授權流程見(jiàn)OAuth2.0授權流程,其中Client指第三方應用,Resource Owner指用戶(hù),Authorization Server是我們的授權服務(wù)器,Resource Server是API 服務(wù)器。
參考鏈接:以及新浪微博開(kāi)放平臺和新浪微博CodeProject開(kāi)源項目
開(kāi)發(fā)者可以先瀏覽OAuth2.0的接口文檔,熟悉OAuth2接口和參數的含義,然后根據應用場(chǎng)景講解如何使用OAuth2.0 .
OAuth2 接口文檔
接口說(shuō)明
OAuth2/授權
請求用戶(hù)授權令牌
OAuth2/access_token
獲取授權訪(fǎng)問(wèn)令牌
OAuth2/get_token_info
授權信息查詢(xún)界面
OAuth2/revokeoauth2
授權恢復接口
OAuth2/get_oauth2_token
OAuth1.0的Access Token替換為OAuth2.0的Access Token
二、OAuth2.0 新浪授權頁(yè)面
1、 首先需要獲取appKey和appSecret。這種獲取方式可以在新浪微博新手指南中一步步獲取。這里的回調地址使用默認的:網(wǎng)站訪(fǎng)問(wèn)方式。以下是C#示例源代碼(控制臺應用程序):
01.using System;
02.using System.Collections.Generic;
03.using System.Linq;
04.using System.Text;
05.using NetDimension.Weibo;
06.using System.Net;
07.
08.namespace SinaWeiboTestApp
09.{
10. class Program
11. {
12.
13. static void Main(string[] args)
14. {
15.
16. string appkey = "124543453288";
17. string appsecret = "3a456c5332fd2cb1178338fccb9fa51c";
18. //string callBack = "http://127.0.0.1:3170/WebSite2/Default.aspx";
19. string callBack = "https://api.weibo.com/oauth2/default.html";
20. var oauth = new NetDimension.Weibo.OAuth(appkey,appsecret,callBack);
21.
22. ////模擬登錄
23. //string username = "xxxxxxxx@163.com";
24. //string password = "xxxxxxx";
25. //oauth.ClientLogin(username, password); //模擬登錄下,沒(méi)啥好說(shuō)的,你也可以改成標準登錄。
26.
27. //標準登錄
28. var authUrl = oauth.GetAuthorizeURL();
29. //string redirectUrl;
30. //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(authUrl);
31. //request.Referer = authUrl;
32. //request.AllowAutoRedirect = false;
33. //using (WebResponse response = request.GetResponse())
34. //{
35. // redirectUrl = response.Headers["Location"];
36. // redirectUrl = response.ResponseUri.AbsolutePath;
37. //}
38. System.Diagnostics.Process.Start(authUrl);
39. Console.WriteLine("填寫(xiě)瀏覽器地址中的Code參數:");
40. var code = Console.ReadLine();
41. var accessToken = oauth.GetAccessTokenByAuthorizationCode(code);
42. if (!string.IsNullOrEmpty(accessToken.Token))
43. {
44. var sina = new NetDimension.Weibo.Client(oauth);
45. var uid = sina.API.Dynamic.Account.GetUID(); //調用API中獲取UID的方法
46. Console.WriteLine(uid);
47. }
48.
49. var Sina = new Client(oauth);
50. Console.WriteLine("開(kāi)始發(fā)送異步請求...");
51.
52. //例子1:異步獲取用戶(hù)的ID
53. //demo的運行環(huán)境是.net 4.0,下面展示的這種方法在2.0及以上版本環(huán)境下有效,3.0以上可以用lambda表達式來(lái)簡(jiǎn)化delegate的蛋疼寫(xiě)法,請看下面的例子。
54. Sina.AsyncInvoke(
55. //第一個(gè)代理中編寫(xiě)調用API接口的相關(guān)邏輯
56. delegate()
57. {
58. Console.WriteLine("發(fā)送請求來(lái)獲得用戶(hù)ID...");
59. System.Threading.Thread.Sleep(8000); //等待8秒
60. return Sina.API.Entity.Account.GetUID();
61. },
62. //第二個(gè)代理為回調函數,異步完成后將自動(dòng)調用這個(gè)函數來(lái)處理結果。
63. delegate(AsyncCallback callback)
64. {
65. if (callback.IsSuccess)
66. {
67. Console.WriteLine("獲取用戶(hù)ID成功,ID:{0}", callback.Data);
68. }
69. else
70. {
71. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
72. }
73. }
74. );
75.
76. //列子2:獲取公共微博列表
77. //2.0以上用lambda來(lái)寫(xiě),方便不是一點(diǎn)點(diǎn)
78. Sina.AsyncInvoke(() =>
79. {
80. //獲取微博,接口調用,返回值是個(gè)NetDimension.Weibo.Entities.status.Collection,所以泛型T為NetDimension.Weibo.Entities.status.Collection
81. Console.WriteLine("發(fā)送請求來(lái)獲得公共微博列表...");
82. return Sina.API.Entity.Statuses.PublicTimeline();
83. //return Sina.API.Entity.Statuses.RepostTimeline;
84. }, (callback) =>
85. {
86. if (callback.IsSuccess)
87. {
88. //異步完成后處理結果,result就是返回的結果,類(lèi)型就是泛型所指定的NetDimension.Weibo.Entities.status.Collection
89. Console.WriteLine("獲得公共微博列表成功,現在公共頻道發(fā)微博的人都是他們:");
90. foreach (var status in callback.Data.Statuses)
91. {
92. if (status.User != null)
93. Console.WriteLine(status.User.ScreenName + " ");//打印公共微博發(fā)起人的姓名
94. }
95. Console.WriteLine();
96. }
97. else
98. {
99. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
100. }
101.
102. });
103.
104.
105. Console.WriteLine("已發(fā)送所有異步請求。等待異步執行完成...");
106.
107. Console.ReadKey(); //阻塞,等待異步調用執行完成
108.
109. }
110.
111. }
112.}
MVC 中的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Myself.Models;
using Myself.Code;
using BLL;
using Lib;
using SpeexToWavToMp3;
using System.Web.Http.Filters;
using Models;
using Webdiyer.WebControls.Mvc;
using System.IO;
namespace Myself.Controllers
{
public class MySelfController : Controller
{
public ActionResult LoginSina()
{
var oauth = new NetDimension.Weibo.OAuth(appKey,appSecret,Url.Action("LoginSinaResult", "MySelf", null, "http"));
//第一步獲取新浪授權頁(yè)面的地址
var oauthUrl = oauth.GetAuthorizeURL();
return Redirect(oauthUrl);
}
public ActionResult LoginSinaResult(string code)
{
var oauth = new NetDimension.Weibo.OAuth(appKey, appSecret, Url.Action("LoginSinaResult", "MySelf", null, "http"));
var oauthToken = oauth.GetAccessTokenByAuthorizationCode(code);
var model = UserHelper.GetAuthorizeInfo(oauthToken.UID, 1);
if (model != null)
{
if (LoginHelper.UserLogin(model.UserID, 1, oauthToken.UID, Request.UserAgent, Request.UserHostAddress, "1", "web"))
{
return RedirectToAction("Index", "Home");
}
else
{
return Content("登錄失敗");
}
}
return Content("您尚未注冊");
}
}
}
要運行上述程序,需要替換Appkey和Appsecret。
2、授權頁(yè)面
以下是提示微博登錄的界面,登錄后第三方網(wǎng)站授權訪(fǎng)問(wèn)您在新浪微博賬號上的資源
將提供。
3、授權訪(fǎng)問(wèn)頁(yè)面
4、新浪官方網(wǎng)站提供API測試工具來(lái)測試客戶(hù)端構造的參數是否正確
5、Oauth2.0 操作流程圖
第一步:首先直接跳轉到用戶(hù)授權地址,即圖標Request User Url,提示用戶(hù)登錄,授權相關(guān)資源獲取唯一Auth code。這里注意代碼只有10分鐘的有效時(shí)間出于安全考慮,相比OAuth1.0,它節省了一步獲取臨時(shí)token,而且有效期也得到了控制,比1.0簡(jiǎn)單多了,安全多了@1.0 認證;第二步:獲取代碼授權后,這一步是請求訪(fǎng)問(wèn)令牌,使用圖標請求訪(fǎng)問(wèn)url生成數據令牌;第三步:通過(guò)Access Token請求OpenID,openid是用戶(hù)在本平臺的唯一標識,通過(guò)圖標Request info url請求,然后得到OpenID;第四步:通過(guò)第二步獲取的數據Token、第三步獲取的OpenID以及相關(guān)API,請求獲取用戶(hù)授權的資源信息
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博的系統分為三個(gè)層次,最下層是基礎服務(wù)層)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 71 次瀏覽 ? 2022-01-03 16:15
系統分為三個(gè)層次。底層是基礎服務(wù)層,提供數據庫、緩存、存儲、搜索等數據服務(wù)等基礎技術(shù)服務(wù)。這些服務(wù)支撐了新浪微博的海量數據和高并發(fā)訪(fǎng)問(wèn),是整個(gè)系統的技術(shù)基礎。
中間層是平臺服務(wù)和應用服務(wù)層。新浪微博的核心服務(wù)是微博、關(guān)系和用戶(hù)。這些服務(wù)被劃分為獨立的服務(wù)模塊,依靠調用和共享基礎數據,構成了新浪微博的業(yè)務(wù)基礎。
頂層是 API 和業(yè)務(wù)層。各種客戶(hù)端和第三方應用調用API并將其集成到新浪微博系統中,形成一個(gè)生態(tài)系統。
新浪微博系統架構
這些層次分明的業(yè)務(wù)模塊和基礎技術(shù)模塊是分布式部署的。每個(gè)模塊部署在一組獨立的服務(wù)器集群上,通過(guò)遠程調用進(jìn)行依賴(lài)訪(fǎng)問(wèn)。新浪微博早期也采用了一種分布式集群部署方案,叫做MPSS(MultiPost Single Server,單服務(wù)器多端口)。在集群中的多臺服務(wù)器上,每臺服務(wù)器都部署了多個(gè)服務(wù),每個(gè)服務(wù)使用不同的服務(wù)。港口為外界提供服務(wù)。這樣,有限數量的服務(wù)器就可以部署更多的服務(wù)實(shí)例,提高服務(wù)的負載均衡和可用性?,F在常見(jiàn)的網(wǎng)站 應用將物理機虛擬化為多個(gè)虛擬機。在虛擬機上部署應用的方法和新浪微博的MPSS方案一樣,但是更簡(jiǎn)單,可以在不同的虛擬機上使用。相同的端口號。
在新浪微博的早期架構中,微博發(fā)布采用的是同步推送模式。用戶(hù)發(fā)布一條微博后,系統會(huì )立即將這條微博插入到數據庫中所有粉絲的訂閱列表中。當用戶(hù)數量比較大時(shí),會(huì )造成大量的數據庫寫(xiě)操作,超過(guò)數據庫負載,系統性能急劇下降,用戶(hù)響應延遲增加。后來(lái)新浪微博改用異步推拉組合模式。用戶(hù)發(fā)布微博后,系統將微博寫(xiě)入消息隊列并立即返回。用戶(hù)反應很快。消息隊列消費者任務(wù)將微博推送到當前所有在線(xiàn)粉絲的訂閱列表。非在線(xiàn)用戶(hù)登錄后根據關(guān)注列表拉取微博訂閱列表。
由于微博頻繁刷新,新浪微博采用了多級緩存策略。熱門(mén)微博和名人用戶(hù)緩存在所有微博服務(wù)器上,在線(xiàn)用戶(hù)的微博和最近的微博緩存在分布式緩存集群中。微博操作中最常見(jiàn)的“刷微博”操作幾乎都是緩存訪(fǎng)問(wèn)操作,可以獲得良好的系統性能。
為了提高系統的整體可用性和性能,新浪微博激活了多個(gè)數據中心。這些數據中心不僅是區域用戶(hù)訪(fǎng)問(wèn)中心,用戶(hù)可以就近訪(fǎng)問(wèn)數據中心,加快訪(fǎng)問(wèn)速度,提升系統性能;它們也是數據冗余復制的災難恢復中心。所有用戶(hù)和微博數據通過(guò)遠程消息系統是不同的。在數據中心之間進(jìn)行同步以提高系統可用性。??
同時(shí),新浪微博還開(kāi)發(fā)了一系列自動(dòng)化工具,包括自動(dòng)化監控、自動(dòng)化發(fā)布、自動(dòng)化故障修復等,這些自動(dòng)化工具還在不斷的開(kāi)發(fā)中,以提升運維水平,增加系統可用性。??
由于微博的開(kāi)放性,新浪微博也遇到了一系列的安全挑戰。垃圾郵件、僵尸粉和微博攻擊從未停止。新浪微博除了使用通用的網(wǎng)站通用安全策略外,在開(kāi)放平臺上使用多級安全審計策略來(lái)保護系統和用戶(hù)。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博的系統分為三個(gè)層次,最下層是基礎服務(wù)層)
系統分為三個(gè)層次。底層是基礎服務(wù)層,提供數據庫、緩存、存儲、搜索等數據服務(wù)等基礎技術(shù)服務(wù)。這些服務(wù)支撐了新浪微博的海量數據和高并發(fā)訪(fǎng)問(wèn),是整個(gè)系統的技術(shù)基礎。
中間層是平臺服務(wù)和應用服務(wù)層。新浪微博的核心服務(wù)是微博、關(guān)系和用戶(hù)。這些服務(wù)被劃分為獨立的服務(wù)模塊,依靠調用和共享基礎數據,構成了新浪微博的業(yè)務(wù)基礎。
頂層是 API 和業(yè)務(wù)層。各種客戶(hù)端和第三方應用調用API并將其集成到新浪微博系統中,形成一個(gè)生態(tài)系統。
新浪微博系統架構
這些層次分明的業(yè)務(wù)模塊和基礎技術(shù)模塊是分布式部署的。每個(gè)模塊部署在一組獨立的服務(wù)器集群上,通過(guò)遠程調用進(jìn)行依賴(lài)訪(fǎng)問(wèn)。新浪微博早期也采用了一種分布式集群部署方案,叫做MPSS(MultiPost Single Server,單服務(wù)器多端口)。在集群中的多臺服務(wù)器上,每臺服務(wù)器都部署了多個(gè)服務(wù),每個(gè)服務(wù)使用不同的服務(wù)。港口為外界提供服務(wù)。這樣,有限數量的服務(wù)器就可以部署更多的服務(wù)實(shí)例,提高服務(wù)的負載均衡和可用性?,F在常見(jiàn)的網(wǎng)站 應用將物理機虛擬化為多個(gè)虛擬機。在虛擬機上部署應用的方法和新浪微博的MPSS方案一樣,但是更簡(jiǎn)單,可以在不同的虛擬機上使用。相同的端口號。
在新浪微博的早期架構中,微博發(fā)布采用的是同步推送模式。用戶(hù)發(fā)布一條微博后,系統會(huì )立即將這條微博插入到數據庫中所有粉絲的訂閱列表中。當用戶(hù)數量比較大時(shí),會(huì )造成大量的數據庫寫(xiě)操作,超過(guò)數據庫負載,系統性能急劇下降,用戶(hù)響應延遲增加。后來(lái)新浪微博改用異步推拉組合模式。用戶(hù)發(fā)布微博后,系統將微博寫(xiě)入消息隊列并立即返回。用戶(hù)反應很快。消息隊列消費者任務(wù)將微博推送到當前所有在線(xiàn)粉絲的訂閱列表。非在線(xiàn)用戶(hù)登錄后根據關(guān)注列表拉取微博訂閱列表。
由于微博頻繁刷新,新浪微博采用了多級緩存策略。熱門(mén)微博和名人用戶(hù)緩存在所有微博服務(wù)器上,在線(xiàn)用戶(hù)的微博和最近的微博緩存在分布式緩存集群中。微博操作中最常見(jiàn)的“刷微博”操作幾乎都是緩存訪(fǎng)問(wèn)操作,可以獲得良好的系統性能。
為了提高系統的整體可用性和性能,新浪微博激活了多個(gè)數據中心。這些數據中心不僅是區域用戶(hù)訪(fǎng)問(wèn)中心,用戶(hù)可以就近訪(fǎng)問(wèn)數據中心,加快訪(fǎng)問(wèn)速度,提升系統性能;它們也是數據冗余復制的災難恢復中心。所有用戶(hù)和微博數據通過(guò)遠程消息系統是不同的。在數據中心之間進(jìn)行同步以提高系統可用性。??
同時(shí),新浪微博還開(kāi)發(fā)了一系列自動(dòng)化工具,包括自動(dòng)化監控、自動(dòng)化發(fā)布、自動(dòng)化故障修復等,這些自動(dòng)化工具還在不斷的開(kāi)發(fā)中,以提升運維水平,增加系統可用性。??
由于微博的開(kāi)放性,新浪微博也遇到了一系列的安全挑戰。垃圾郵件、僵尸粉和微博攻擊從未停止。新浪微博除了使用通用的網(wǎng)站通用安全策略外,在開(kāi)放平臺上使用多級安全審計策略來(lái)保護系統和用戶(hù)。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博同步內容至自己網(wǎng)站)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 53 次瀏覽 ? 2022-01-03 02:04
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站,可以獲取到該用戶(hù)的所有相關(guān)微博,并給予相應的推薦和訪(fǎng)問(wèn)權限,可以滿(mǎn)足開(kāi)發(fā)者的個(gè)性化需求。
回答這個(gè)問(wèn)題之前,你必須要先知道,騰訊做微博是需要認證的,不然是無(wú)法被騰訊推送的,只能發(fā)給朋友看,朋友必須通過(guò)認證,以后才能推送給自己的朋友看。新浪,其實(shí)并不需要認證,只要有加v認證,就能被新浪推送給所有的用戶(hù)。
關(guān)注關(guān)鍵詞就能推送相關(guān)微博:weibochannel在weibo里面看twitter,發(fā)現更多
不需要騰訊認證,
使用騰訊賬號登錄,然后申請開(kāi)通并認證,或者使用新浪微博開(kāi)放平臺認證都可以。不過(guò)現在微博的開(kāi)放平臺認證都要付費的,大概要99元。
有個(gè)客戶(hù)端叫微博,登錄直接分享給你的店鋪你的微博都能被同步出來(lái),親測。
騰訊認證的微博帳號才可以推送微博內容給任何微博客戶(hù)端,那就需要你去認證新浪微博帳號嘍,如果沒(méi)有認證,只能發(fā)原微博,不可以推送。
要認證
最簡(jiǎn)單就是認證咯,認證花錢(qián),新浪的認證是365元,認證多了就是2000多元,別的還有個(gè)什么認證我忘記了,如果不需要認證的話(huà),用微博提供的推送接口也可以推送一個(gè)無(wú)關(guān)聯(lián)的自己微博到微博客戶(hù)端,但是只支持基于手機的這種, 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博同步內容至自己網(wǎng)站)
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站,可以獲取到該用戶(hù)的所有相關(guān)微博,并給予相應的推薦和訪(fǎng)問(wèn)權限,可以滿(mǎn)足開(kāi)發(fā)者的個(gè)性化需求。
回答這個(gè)問(wèn)題之前,你必須要先知道,騰訊做微博是需要認證的,不然是無(wú)法被騰訊推送的,只能發(fā)給朋友看,朋友必須通過(guò)認證,以后才能推送給自己的朋友看。新浪,其實(shí)并不需要認證,只要有加v認證,就能被新浪推送給所有的用戶(hù)。
關(guān)注關(guān)鍵詞就能推送相關(guān)微博:weibochannel在weibo里面看twitter,發(fā)現更多
不需要騰訊認證,
使用騰訊賬號登錄,然后申請開(kāi)通并認證,或者使用新浪微博開(kāi)放平臺認證都可以。不過(guò)現在微博的開(kāi)放平臺認證都要付費的,大概要99元。
有個(gè)客戶(hù)端叫微博,登錄直接分享給你的店鋪你的微博都能被同步出來(lái),親測。
騰訊認證的微博帳號才可以推送微博內容給任何微博客戶(hù)端,那就需要你去認證新浪微博帳號嘍,如果沒(méi)有認證,只能發(fā)原微博,不可以推送。
要認證
最簡(jiǎn)單就是認證咯,認證花錢(qián),新浪的認證是365元,認證多了就是2000多元,別的還有個(gè)什么認證我忘記了,如果不需要認證的話(huà),用微博提供的推送接口也可以推送一個(gè)無(wú)關(guān)聯(lián)的自己微博到微博客戶(hù)端,但是只支持基于手機的這種,
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用API提交數據(發(fā)布一條微博信息)(組圖))
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 66 次瀏覽 ? 2022-01-02 22:13
我也是新手,第一次使用開(kāi)放平臺進(jìn)行開(kāi)發(fā)。一開(kāi)始,我覺(jué)得無(wú)處可去。經(jīng)過(guò)長(cháng)時(shí)間的摸索,終于成功調用了API?,F在把這個(gè)經(jīng)驗介紹給新手(高手不需要看,當然,如果你能提出一些意見(jiàn)和建議,我感激不盡),我想和你交流。
這個(gè)例子描述了如何使用API??提交數據(發(fā)布微博)和使用API??獲取數據(獲取最新更新的20條公開(kāi)微博消息),即“獲取下游數據集(時(shí)間線(xiàn))”官方API)“statuses/public_timeline下的“獲取最新更新的公眾微博消息接口”和“statuses/update發(fā)布微博信息”下的“微博訪(fǎng)問(wèn)接口”。
首先,您必須有新浪微博賬號,并申請一個(gè)應用秘鑰(詳見(jiàn)%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%9< @7),然后在VS中新建一個(gè)解決方案,在解決方案中添加一個(gè)類(lèi)庫和一個(gè)網(wǎng)站,并添加一個(gè)引用(網(wǎng)站引用類(lèi)庫)。
因為發(fā)布微博是POST請求,獲取數據是GET請求,并且是通過(guò)HTTP基本認證(Basic Authentication)授權,所以我把這些函數寫(xiě)在一個(gè)類(lèi)中(在類(lèi)庫中),代碼如下如下(這個(gè)類(lèi)僅供參考,沒(méi)有仔細考慮是否通用):
發(fā)送請求和授權碼
然后在類(lèi)庫中創(chuàng )建兩個(gè)實(shí)體類(lèi)status和user,字段與官方API相同:
狀態(tài)實(shí)體類(lèi)
用戶(hù)實(shí)體類(lèi)
好的,經(jīng)過(guò)以上步驟,準備工作就完成了?,F在我們可以調用 API。我們來(lái)看看發(fā)布一條微博消息。雖然在這個(gè)文章()中有介紹,但是為了本文的完整性,我只是粘貼了我的代碼,并在類(lèi)庫中添加了一個(gè)MiniBlogVisit類(lèi):
微博訪(fǎng)問(wèn)班
您可以通過(guò)調用更新方法發(fā)布微博。但需要注意的是,這里的Content必須使用HttpUtility.UrlEncode進(jìn)行編碼,否則會(huì )出現亂碼。
最新更新看20條公眾微博消息,這是官方API中的第一個(gè)接口。這是 XML 數據或 JSON 數據。您可以根據自己的喜好自由選擇。我選擇返回 XML。數據。我的方法是將返回的XML數據寫(xiě)入XML文件,然后解析XML文件,代碼如下:
獲取數據代碼
好的,現在它被調用了。調用比較簡(jiǎn)單,是一個(gè)空的Default.aspx頁(yè)面,后臺代碼如下:
調用代碼
至此,所有代碼都寫(xiě)完了,來(lái)看看完整的解決方案:
運行后效果如下:
第一次調用API,第一次寫(xiě)這么長(cháng)的文章。歡迎大家! ! ! 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用API提交數據(發(fā)布一條微博信息)(組圖))
我也是新手,第一次使用開(kāi)放平臺進(jìn)行開(kāi)發(fā)。一開(kāi)始,我覺(jué)得無(wú)處可去。經(jīng)過(guò)長(cháng)時(shí)間的摸索,終于成功調用了API?,F在把這個(gè)經(jīng)驗介紹給新手(高手不需要看,當然,如果你能提出一些意見(jiàn)和建議,我感激不盡),我想和你交流。
這個(gè)例子描述了如何使用API??提交數據(發(fā)布微博)和使用API??獲取數據(獲取最新更新的20條公開(kāi)微博消息),即“獲取下游數據集(時(shí)間線(xiàn))”官方API)“statuses/public_timeline下的“獲取最新更新的公眾微博消息接口”和“statuses/update發(fā)布微博信息”下的“微博訪(fǎng)問(wèn)接口”。
首先,您必須有新浪微博賬號,并申請一個(gè)應用秘鑰(詳見(jiàn)%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%9< @7),然后在VS中新建一個(gè)解決方案,在解決方案中添加一個(gè)類(lèi)庫和一個(gè)網(wǎng)站,并添加一個(gè)引用(網(wǎng)站引用類(lèi)庫)。

因為發(fā)布微博是POST請求,獲取數據是GET請求,并且是通過(guò)HTTP基本認證(Basic Authentication)授權,所以我把這些函數寫(xiě)在一個(gè)類(lèi)中(在類(lèi)庫中),代碼如下如下(這個(gè)類(lèi)僅供參考,沒(méi)有仔細考慮是否通用):

發(fā)送請求和授權碼
然后在類(lèi)庫中創(chuàng )建兩個(gè)實(shí)體類(lèi)status和user,字段與官方API相同:

狀態(tài)實(shí)體類(lèi)

用戶(hù)實(shí)體類(lèi)
好的,經(jīng)過(guò)以上步驟,準備工作就完成了?,F在我們可以調用 API。我們來(lái)看看發(fā)布一條微博消息。雖然在這個(gè)文章()中有介紹,但是為了本文的完整性,我只是粘貼了我的代碼,并在類(lèi)庫中添加了一個(gè)MiniBlogVisit類(lèi):

微博訪(fǎng)問(wèn)班
您可以通過(guò)調用更新方法發(fā)布微博。但需要注意的是,這里的Content必須使用HttpUtility.UrlEncode進(jìn)行編碼,否則會(huì )出現亂碼。
最新更新看20條公眾微博消息,這是官方API中的第一個(gè)接口。這是 XML 數據或 JSON 數據。您可以根據自己的喜好自由選擇。我選擇返回 XML。數據。我的方法是將返回的XML數據寫(xiě)入XML文件,然后解析XML文件,代碼如下:

獲取數據代碼
好的,現在它被調用了。調用比較簡(jiǎn)單,是一個(gè)空的Default.aspx頁(yè)面,后臺代碼如下:

調用代碼
至此,所有代碼都寫(xiě)完了,來(lái)看看完整的解決方案:

運行后效果如下:

第一次調用API,第一次寫(xiě)這么長(cháng)的文章。歡迎大家! ! !
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件(SoftwareDevelopmentKit)為第三方微博應用)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 58 次瀏覽 ? 2022-01-02 22:13
Android 是基于 Linux 內核的操作系統。以其獨特的開(kāi)放性,廣泛應用于智能手機等智能終端,并迅速發(fā)展成為市場(chǎng)占有率最大的手機操作系統。電子商務(wù)近年來(lái)發(fā)展迅速,通過(guò)互聯(lián)網(wǎng)進(jìn)行交易已成為一種趨勢。作為智能移動(dòng)終端與電子商務(wù)的結合,移動(dòng)電子商務(wù)具有巨大的發(fā)展潛力。微博是微博的簡(jiǎn)稱(chēng),是一個(gè)基于用戶(hù)關(guān)系的信息共享、傳播和獲取平臺。用戶(hù)以文本形式更新信息,實(shí)現即時(shí)分享。微博的開(kāi)放性和即時(shí)性使其成為發(fā)展最快的互聯(lián)網(wǎng)業(yè)務(wù)。因此,依靠微博平臺推動(dòng)移動(dòng)電子商務(wù)的發(fā)展具有很大的市場(chǎng)價(jià)值,但目前市場(chǎng)上還沒(méi)有基于微博平臺的移動(dòng)電子商務(wù)軟件。在此背景下,基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件應運而生。由于新浪微博是中國用戶(hù)最多的微博平臺,本系統以新浪微博為開(kāi)發(fā)平臺。新浪微博Android平臺SDK(SoftwareDevelopmentKit)為第三方微博應用提供簡(jiǎn)單易用的微博API調用服務(wù),讓第三方客戶(hù)端無(wú)需了解復雜的驗證、API(應用程序接口)調用流程。并且可以實(shí)現分享到微博的功能,可以將文字或多媒體信息分享到內置的分享頁(yè)面,并發(fā)送到微博。
這個(gè)SDK封裝了對HTTP請求和Json信息的分析。我們只需要實(shí)現頁(yè)面相關(guān)功能的開(kāi)發(fā),大大減輕了程序員的開(kāi)發(fā)壓力。本文所討論的系統開(kāi)發(fā)的核心內容是基于A(yíng)ndroid平臺,結合新浪微博API實(shí)現基于微博的移動(dòng)電子商務(wù)系統的Android客戶(hù)端軟件。本文介紹了移動(dòng)電子商務(wù)、Android開(kāi)發(fā)平臺和微博開(kāi)發(fā)平臺相關(guān)技術(shù),分析了電子商務(wù)、Android手機平臺和微博系統目前國內外的應用,并設計了一個(gè)基于新浪的Android移動(dòng)電子商務(wù)系統。微博客戶(hù)端軟件實(shí)現登錄注冊模塊、業(yè)務(wù)信息模塊、微博編輯模塊、采集夾模塊、個(gè)人信息模塊、二維碼模塊、天氣查詢(xún)模塊。最后,該系統使用戶(hù)不必再花時(shí)間在線(xiàn)搜索產(chǎn)品。只要你有一部安卓手機,用戶(hù)就可以隨時(shí)隨地瀏覽商家促銷(xiāo)信息。它不僅解放了時(shí)間和空間的限制,而且讓用戶(hù)更有效地利用時(shí)間。他們可以利用在公交車(chē)上、地鐵上的時(shí)間,以及許多其他的等待時(shí)間來(lái)獲取商業(yè)信息。完成了基于微博的電子商務(wù)系統Android客戶(hù)端軟件的基本功能開(kāi)發(fā)?,F在軟件可以正常運行了。大大節省了人們挑選商品的時(shí)間,加快了商品流通,方便賣(mài)家推廣商品,買(mǎi)家獲得更多優(yōu)惠折扣,及時(shí)與微博好友分享商家推廣信息。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件(SoftwareDevelopmentKit)為第三方微博應用)
Android 是基于 Linux 內核的操作系統。以其獨特的開(kāi)放性,廣泛應用于智能手機等智能終端,并迅速發(fā)展成為市場(chǎng)占有率最大的手機操作系統。電子商務(wù)近年來(lái)發(fā)展迅速,通過(guò)互聯(lián)網(wǎng)進(jìn)行交易已成為一種趨勢。作為智能移動(dòng)終端與電子商務(wù)的結合,移動(dòng)電子商務(wù)具有巨大的發(fā)展潛力。微博是微博的簡(jiǎn)稱(chēng),是一個(gè)基于用戶(hù)關(guān)系的信息共享、傳播和獲取平臺。用戶(hù)以文本形式更新信息,實(shí)現即時(shí)分享。微博的開(kāi)放性和即時(shí)性使其成為發(fā)展最快的互聯(lián)網(wǎng)業(yè)務(wù)。因此,依靠微博平臺推動(dòng)移動(dòng)電子商務(wù)的發(fā)展具有很大的市場(chǎng)價(jià)值,但目前市場(chǎng)上還沒(méi)有基于微博平臺的移動(dòng)電子商務(wù)軟件。在此背景下,基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件應運而生。由于新浪微博是中國用戶(hù)最多的微博平臺,本系統以新浪微博為開(kāi)發(fā)平臺。新浪微博Android平臺SDK(SoftwareDevelopmentKit)為第三方微博應用提供簡(jiǎn)單易用的微博API調用服務(wù),讓第三方客戶(hù)端無(wú)需了解復雜的驗證、API(應用程序接口)調用流程。并且可以實(shí)現分享到微博的功能,可以將文字或多媒體信息分享到內置的分享頁(yè)面,并發(fā)送到微博。
這個(gè)SDK封裝了對HTTP請求和Json信息的分析。我們只需要實(shí)現頁(yè)面相關(guān)功能的開(kāi)發(fā),大大減輕了程序員的開(kāi)發(fā)壓力。本文所討論的系統開(kāi)發(fā)的核心內容是基于A(yíng)ndroid平臺,結合新浪微博API實(shí)現基于微博的移動(dòng)電子商務(wù)系統的Android客戶(hù)端軟件。本文介紹了移動(dòng)電子商務(wù)、Android開(kāi)發(fā)平臺和微博開(kāi)發(fā)平臺相關(guān)技術(shù),分析了電子商務(wù)、Android手機平臺和微博系統目前國內外的應用,并設計了一個(gè)基于新浪的Android移動(dòng)電子商務(wù)系統。微博客戶(hù)端軟件實(shí)現登錄注冊模塊、業(yè)務(wù)信息模塊、微博編輯模塊、采集夾模塊、個(gè)人信息模塊、二維碼模塊、天氣查詢(xún)模塊。最后,該系統使用戶(hù)不必再花時(shí)間在線(xiàn)搜索產(chǎn)品。只要你有一部安卓手機,用戶(hù)就可以隨時(shí)隨地瀏覽商家促銷(xiāo)信息。它不僅解放了時(shí)間和空間的限制,而且讓用戶(hù)更有效地利用時(shí)間。他們可以利用在公交車(chē)上、地鐵上的時(shí)間,以及許多其他的等待時(shí)間來(lái)獲取商業(yè)信息。完成了基于微博的電子商務(wù)系統Android客戶(hù)端軟件的基本功能開(kāi)發(fā)?,F在軟件可以正常運行了。大大節省了人們挑選商品的時(shí)間,加快了商品流通,方便賣(mài)家推廣商品,買(mǎi)家獲得更多優(yōu)惠折扣,及時(shí)與微博好友分享商家推廣信息。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這是移動(dòng)端微博信息_selenium_sina__)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 55 次瀏覽 ? 2022-01-02 12:05
這是一個(gè)新浪微博爬蟲(chóng),使用python+selenium實(shí)現。免費資源,希望對你有幫助,雖然是傻瓜式爬蟲(chóng),但至少能跑。同時(shí)在rar中收錄了源代碼和爬取示例。參考我的文章:【python爬蟲(chóng)】Selenium爬取新浪微博內容和用戶(hù)信息【python爬蟲(chóng)】Selenium爬取新浪微博客戶(hù)端用戶(hù)信息、熱點(diǎn)話(huà)題和評論(上) 主要爬取內容包括:新浪微博手機用戶(hù)信息和微博信息。用戶(hù)信息:包括用戶(hù)ID、用戶(hù)名、微博數、粉絲數、關(guān)注數等。 微博信息:包括轉發(fā)或原創(chuàng )、點(diǎn)贊、轉發(fā)、評論、發(fā)布時(shí)間、微博內容等。安裝過(guò)程:1.先安裝Python環(huán)境,作者是Python2.7.82.然后安裝PIP或者easy_install3.通過(guò)安裝selenium命令pip install selenium,是一個(gè)自動(dòng)測試爬取的工具4.然后在代碼中修改用戶(hù)名和密碼,填寫(xiě)自己的用戶(hù)名和密碼5.運行程序,并自動(dòng)調用火狐瀏覽器登錄微博。注:手機信息更精致簡(jiǎn)潔,動(dòng)態(tài)加載沒(méi)有限制,只是顯示微博或粉絲id等20個(gè)頁(yè)面,這是它的缺點(diǎn);雖然客戶(hù)端可能有動(dòng)態(tài)加載,比如評論和微博,但它的信息更完整。 [源碼] 爬取手機微博信息spider_selenium_sina_content.py 輸入:明星用戶(hù)id列表,使用URL+用戶(hù)id訪(fǎng)問(wèn)(這些id可以從用戶(hù)的關(guān)注列表中獲?。?SinaWeibo_List_best_1.txt 輸出:微博信息和基本信息用戶(hù)信息 SinaWeibo_Info_best_1.txtMegry_Result_Best.py 用戶(hù)使用該文件整理某一天的用戶(hù)微博信息,例如2016年4月23日【源代碼】爬取客戶(hù)端微博信息抓取客戶(hù)端信息,但是評論是動(dòng)態(tài)的已加載,還在研究中 weibo_spider2.pyBy:Eastmount 2016-04-24 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這是移動(dòng)端微博信息_selenium_sina__)
這是一個(gè)新浪微博爬蟲(chóng),使用python+selenium實(shí)現。免費資源,希望對你有幫助,雖然是傻瓜式爬蟲(chóng),但至少能跑。同時(shí)在rar中收錄了源代碼和爬取示例。參考我的文章:【python爬蟲(chóng)】Selenium爬取新浪微博內容和用戶(hù)信息【python爬蟲(chóng)】Selenium爬取新浪微博客戶(hù)端用戶(hù)信息、熱點(diǎn)話(huà)題和評論(上) 主要爬取內容包括:新浪微博手機用戶(hù)信息和微博信息。用戶(hù)信息:包括用戶(hù)ID、用戶(hù)名、微博數、粉絲數、關(guān)注數等。 微博信息:包括轉發(fā)或原創(chuàng )、點(diǎn)贊、轉發(fā)、評論、發(fā)布時(shí)間、微博內容等。安裝過(guò)程:1.先安裝Python環(huán)境,作者是Python2.7.82.然后安裝PIP或者easy_install3.通過(guò)安裝selenium命令pip install selenium,是一個(gè)自動(dòng)測試爬取的工具4.然后在代碼中修改用戶(hù)名和密碼,填寫(xiě)自己的用戶(hù)名和密碼5.運行程序,并自動(dòng)調用火狐瀏覽器登錄微博。注:手機信息更精致簡(jiǎn)潔,動(dòng)態(tài)加載沒(méi)有限制,只是顯示微博或粉絲id等20個(gè)頁(yè)面,這是它的缺點(diǎn);雖然客戶(hù)端可能有動(dòng)態(tài)加載,比如評論和微博,但它的信息更完整。 [源碼] 爬取手機微博信息spider_selenium_sina_content.py 輸入:明星用戶(hù)id列表,使用URL+用戶(hù)id訪(fǎng)問(wèn)(這些id可以從用戶(hù)的關(guān)注列表中獲?。?SinaWeibo_List_best_1.txt 輸出:微博信息和基本信息用戶(hù)信息 SinaWeibo_Info_best_1.txtMegry_Result_Best.py 用戶(hù)使用該文件整理某一天的用戶(hù)微博信息,例如2016年4月23日【源代碼】爬取客戶(hù)端微博信息抓取客戶(hù)端信息,但是評論是動(dòng)態(tài)的已加載,還在研究中 weibo_spider2.pyBy:Eastmount 2016-04-24
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(1.:OAUth認證方式比于BaseOAuthOAuth的認證資料比較少 )
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 52 次瀏覽 ? 2022-01-01 20:20
)
由于 Twitter 近期只支持 OAuth 認證方式,各大應用紛紛轉向 OAuth 認證方式,新浪微博開(kāi)放平臺也將在近期停止 Base OAuth 認證方式。
為了繼續使用新浪微博的開(kāi)放平臺,我開(kāi)始研究OAuth認證方式。經(jīng)過(guò)一段時(shí)間的實(shí)踐,對新浪微博開(kāi)放平臺的OAuth認證方式有了一定的體會(huì )。鑒于網(wǎng)上關(guān)于這個(gè)平臺的OAuth相關(guān)資料比較少,在此分享一下過(guò)程中積累的經(jīng)驗。希望對一些想使用OAuth認證的人調用新浪微博界面有所幫助~~
1.關(guān)于 OAuth:
OAUth認證方式相比Base OAuth認證方式最大的特點(diǎn)是應用端不需要保存用戶(hù)的賬號和密碼,只需要用戶(hù)授權的Key和Secret組合即可平臺上的接口資源進(jìn)行訪(fǎng)問(wèn),在傳輸過(guò)程中,也可以通過(guò)截包分析,防止惡意人員獲取用戶(hù)的賬號和密碼。 (有一種說(shuō)法,推特之所以完全切換到OAuth認證,是為了防止GFW通過(guò)截包的方式獲取一些相關(guān)名人的賬號和密碼)。具體定義可以閱讀OAuth規范定義:OAuth規范。
2.新浪微博開(kāi)放平臺:
新浪微博開(kāi)放平臺的基本界面、參數、返回格式參考推特模型。當然,國內其他一些開(kāi)放平臺也大量借鑒了推特的模式,所以基本一致。要使用新浪微博的開(kāi)放平臺,當然首先要到其網(wǎng)站注冊:新浪微博API。
注冊后會(huì )得到Consumer Key和Consumer Secret兩個(gè)關(guān)鍵字段。保存它們。
新浪微博的開(kāi)發(fā)平臺有足夠的文檔,可以快速調用這些接口。除了一些困難的接口,我們將在下面討論。
3.在新浪使用 OAuth:
要使用 OAuth,用戶(hù)必須先獲得授權。一般來(lái)說(shuō),授權流程如下:
(1)應用向新浪開(kāi)發(fā)平臺發(fā)送請求,獲取未授權的Request Token和Request Secret。此時(shí)Request Secret暫時(shí)不用,請妥善保管。
(2)以上一步獲取的Request Token為參數,引導用戶(hù)瀏覽器跳轉到新浪微博授權頁(yè)面,用戶(hù)進(jìn)入該頁(yè)面登錄新浪微博進(jìn)行授權Token。如果在() 作為參數,傳遞給新浪微博服務(wù)器,服務(wù)器會(huì )返回真實(shí)的Access Token和Access Secret,新浪微博也會(huì )返回用戶(hù)在新浪微博的userid,有了用戶(hù)的Access Token和Access Secret,你可以自由方便地調用新浪微博的開(kāi)放界面。
每次調用都必須收錄 OAuth 身份驗證信息。作為OAuth認證信息,添加到請求包中基本上有兩種方式:
(1)最推薦的方法是使用HTTP Authorization Header。這個(gè)header的定義在RFC2617中定義。
例如:
Authorization: OAuth realm="http://photos.example.net/",
oauth_consumer_key="dpf43f3p2l4k3l03",
oauth_token="nnch734d00sl2jdk",
oauth_signature_method="HMAC-SHA1",
oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D",
oauth_timestamp="1191242096", oauth_nonce="kllo9940pd9333jh",
oauth_version="1.0"
?。?)或者可以采用,參數傳遞的方式,將OAuth的參數與正常的參數一樣放置與Get的URL中,或者POST的包體內容中,都是可以的,
但遇到一些特殊情況就較難解決這個(gè)問(wèn)題了。
4.OAuth認證參數解析:
在上面可以看到,一個(gè)正常的OAuth認證中,包含以下若干參數:<br />
?。?)oauth_consumer_key: 即是注冊時(shí),新浪給你的conusmer key,明文傳輸<br />
?。?)oauth_token: 即是用戶(hù)完成OAuth認證后的Access Token,在進(jìn)行OAuth認證第三步的時(shí)候,為Request Token,
?第一步時(shí)不需要這個(gè)參數
?。?)oauth_signature_method:加密的方法,提供HMAC-SHA1,?RSA-SHA1, PLAINTEXT 幾種方法<br />
?。?)oauth_signature: 對于全部參數進(jìn)行加密后的字符串,包括consumer secret和access secret<br />
?。?)oauth_timestamp:發(fā)請求的時(shí)間戳<br />
?。?)oauth_version:可選的參數,基本上置為1.0,否則會(huì )出錯的。<br />
?。?)oauth_nonce:隨機的值,防止重復調用<br />
5.上傳圖片OAuth之痛:
使用上面的方法,基本上可以解決所有的接口調用。但遇到難搞的上傳圖片這樣的請求時(shí),就需要一些方法取巧了。<br />
新浪微博的開(kāi)放平臺,要求上傳圖片時(shí)必須使用multipart/form-data的方式進(jìn)行上傳,但OAuth協(xié)議在定義時(shí),描述Content-Type為
application/x-www-form-urlencoded, 而并沒(méi)有提及如何在multipart/form-data使用。<br />
在網(wǎng)上基本上找不到任何一個(gè)地方有提及在新浪微博的開(kāi)放平臺上以OAuth的方式上傳圖片,經(jīng)過(guò)一個(gè)晚上的嘗試與借鑒Twitter上的做法后,
終于發(fā)現了解決方法。
基本上,在協(xié)議上沒(méi)有說(shuō)明的內容,就必須由民間采用較為直觀(guān)的方式進(jìn)行解決。要在新浪微博的接口中進(jìn)行圖片上傳,必須使用multipart/
form-data作為Content-Type,而OAuth的認證參數不能放入form-data的參數中,必須使用Authorization Header來(lái)認證,而這時(shí),必須將除了文
件(file)的參數,就是將status這個(gè)參數加入到oauth的BaseString中進(jìn)行加密,再將status作為fom-data的一個(gè)value中,這樣就能夠
正常的上傳圖片并發(fā)表微博了。通過(guò)這個(gè)簡(jiǎn)單而麻煩的方法,終于能夠安全地上傳圖片到新浪微博。
6.最后
至此,本人已成功調用新浪微博絕大多數的接口,并開(kāi)始將應用覆蓋搜狐微博,網(wǎng)易微博等開(kāi)放平臺,希望可以通過(guò)這篇文章,記錄下一些經(jīng)
驗與教訓。<br />
<br />
7.參考資料
[RFC5849]E。哈默拉哈夫,埃德。 “OAuth 1.0 協(xié)議”,RFC5849
[RFC1867] E. Nebel,L. Masinter,“HTML 中基于表單的文件上傳”,RFC1867
[RFC2616] Fielding,R.,Gettys,J,e "超文本傳輸??協(xié)議 - HTTP/1.1", RFC2616
[RFC2617] Franks,J.“HTTP 身份驗證:基本和摘要式訪(fǎng)問(wèn)身份驗證”,RFC2617
新浪微博開(kāi)放平臺:
查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(1.:OAUth認證方式比于BaseOAuthOAuth的認證資料比較少
)
由于 Twitter 近期只支持 OAuth 認證方式,各大應用紛紛轉向 OAuth 認證方式,新浪微博開(kāi)放平臺也將在近期停止 Base OAuth 認證方式。
為了繼續使用新浪微博的開(kāi)放平臺,我開(kāi)始研究OAuth認證方式。經(jīng)過(guò)一段時(shí)間的實(shí)踐,對新浪微博開(kāi)放平臺的OAuth認證方式有了一定的體會(huì )。鑒于網(wǎng)上關(guān)于這個(gè)平臺的OAuth相關(guān)資料比較少,在此分享一下過(guò)程中積累的經(jīng)驗。希望對一些想使用OAuth認證的人調用新浪微博界面有所幫助~~
1.關(guān)于 OAuth:
OAUth認證方式相比Base OAuth認證方式最大的特點(diǎn)是應用端不需要保存用戶(hù)的賬號和密碼,只需要用戶(hù)授權的Key和Secret組合即可平臺上的接口資源進(jìn)行訪(fǎng)問(wèn),在傳輸過(guò)程中,也可以通過(guò)截包分析,防止惡意人員獲取用戶(hù)的賬號和密碼。 (有一種說(shuō)法,推特之所以完全切換到OAuth認證,是為了防止GFW通過(guò)截包的方式獲取一些相關(guān)名人的賬號和密碼)。具體定義可以閱讀OAuth規范定義:OAuth規范。
2.新浪微博開(kāi)放平臺:
新浪微博開(kāi)放平臺的基本界面、參數、返回格式參考推特模型。當然,國內其他一些開(kāi)放平臺也大量借鑒了推特的模式,所以基本一致。要使用新浪微博的開(kāi)放平臺,當然首先要到其網(wǎng)站注冊:新浪微博API。
注冊后會(huì )得到Consumer Key和Consumer Secret兩個(gè)關(guān)鍵字段。保存它們。
新浪微博的開(kāi)發(fā)平臺有足夠的文檔,可以快速調用這些接口。除了一些困難的接口,我們將在下面討論。
3.在新浪使用 OAuth:
要使用 OAuth,用戶(hù)必須先獲得授權。一般來(lái)說(shuō),授權流程如下:
(1)應用向新浪開(kāi)發(fā)平臺發(fā)送請求,獲取未授權的Request Token和Request Secret。此時(shí)Request Secret暫時(shí)不用,請妥善保管。
(2)以上一步獲取的Request Token為參數,引導用戶(hù)瀏覽器跳轉到新浪微博授權頁(yè)面,用戶(hù)進(jìn)入該頁(yè)面登錄新浪微博進(jìn)行授權Token。如果在() 作為參數,傳遞給新浪微博服務(wù)器,服務(wù)器會(huì )返回真實(shí)的Access Token和Access Secret,新浪微博也會(huì )返回用戶(hù)在新浪微博的userid,有了用戶(hù)的Access Token和Access Secret,你可以自由方便地調用新浪微博的開(kāi)放界面。
每次調用都必須收錄 OAuth 身份驗證信息。作為OAuth認證信息,添加到請求包中基本上有兩種方式:
(1)最推薦的方法是使用HTTP Authorization Header。這個(gè)header的定義在RFC2617中定義。
例如:
Authorization: OAuth realm="http://photos.example.net/",
oauth_consumer_key="dpf43f3p2l4k3l03",
oauth_token="nnch734d00sl2jdk",
oauth_signature_method="HMAC-SHA1",
oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D",
oauth_timestamp="1191242096", oauth_nonce="kllo9940pd9333jh",
oauth_version="1.0"
?。?)或者可以采用,參數傳遞的方式,將OAuth的參數與正常的參數一樣放置與Get的URL中,或者POST的包體內容中,都是可以的,
但遇到一些特殊情況就較難解決這個(gè)問(wèn)題了。
4.OAuth認證參數解析:
在上面可以看到,一個(gè)正常的OAuth認證中,包含以下若干參數:<br />
?。?)oauth_consumer_key: 即是注冊時(shí),新浪給你的conusmer key,明文傳輸<br />
?。?)oauth_token: 即是用戶(hù)完成OAuth認證后的Access Token,在進(jìn)行OAuth認證第三步的時(shí)候,為Request Token,
?第一步時(shí)不需要這個(gè)參數
?。?)oauth_signature_method:加密的方法,提供HMAC-SHA1,?RSA-SHA1, PLAINTEXT 幾種方法<br />
?。?)oauth_signature: 對于全部參數進(jìn)行加密后的字符串,包括consumer secret和access secret<br />
?。?)oauth_timestamp:發(fā)請求的時(shí)間戳<br />
?。?)oauth_version:可選的參數,基本上置為1.0,否則會(huì )出錯的。<br />
?。?)oauth_nonce:隨機的值,防止重復調用<br />
5.上傳圖片OAuth之痛:
使用上面的方法,基本上可以解決所有的接口調用。但遇到難搞的上傳圖片這樣的請求時(shí),就需要一些方法取巧了。<br />
新浪微博的開(kāi)放平臺,要求上傳圖片時(shí)必須使用multipart/form-data的方式進(jìn)行上傳,但OAuth協(xié)議在定義時(shí),描述Content-Type為
application/x-www-form-urlencoded, 而并沒(méi)有提及如何在multipart/form-data使用。<br />
在網(wǎng)上基本上找不到任何一個(gè)地方有提及在新浪微博的開(kāi)放平臺上以OAuth的方式上傳圖片,經(jīng)過(guò)一個(gè)晚上的嘗試與借鑒Twitter上的做法后,
終于發(fā)現了解決方法。
基本上,在協(xié)議上沒(méi)有說(shuō)明的內容,就必須由民間采用較為直觀(guān)的方式進(jìn)行解決。要在新浪微博的接口中進(jìn)行圖片上傳,必須使用multipart/
form-data作為Content-Type,而OAuth的認證參數不能放入form-data的參數中,必須使用Authorization Header來(lái)認證,而這時(shí),必須將除了文
件(file)的參數,就是將status這個(gè)參數加入到oauth的BaseString中進(jìn)行加密,再將status作為fom-data的一個(gè)value中,這樣就能夠
正常的上傳圖片并發(fā)表微博了。通過(guò)這個(gè)簡(jiǎn)單而麻煩的方法,終于能夠安全地上傳圖片到新浪微博。
6.最后
至此,本人已成功調用新浪微博絕大多數的接口,并開(kāi)始將應用覆蓋搜狐微博,網(wǎng)易微博等開(kāi)放平臺,希望可以通過(guò)這篇文章,記錄下一些經(jīng)
驗與教訓。<br />
<br />
7.參考資料
[RFC5849]E。哈默拉哈夫,埃德。 “OAuth 1.0 協(xié)議”,RFC5849
[RFC1867] E. Nebel,L. Masinter,“HTML 中基于表單的文件上傳”,RFC1867
[RFC2616] Fielding,R.,Gettys,J,e "超文本傳輸??協(xié)議 - HTTP/1.1", RFC2616
[RFC2617] Franks,J.“HTTP 身份驗證:基本和摘要式訪(fǎng)問(wèn)身份驗證”,RFC2617
新浪微博開(kāi)放平臺:
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(調用新浪微博開(kāi)放平臺API開(kāi)發(fā)自己的微博應用(App))
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 74 次瀏覽 ? 2022-01-12 22:14
新浪微博開(kāi)放平臺雖然提供多種語(yǔ)言的開(kāi)發(fā)SDK下載,但也有一些基本接口調用的demo和接口說(shuō)明文檔。但是經(jīng)過(guò)幾天的耐心嘗試,感覺(jué)新浪微博開(kāi)放平臺上的入門(mén)指南和下載的Java開(kāi)發(fā)包weibo4j包中的demo用法注釋有些不一致。再加上自身領(lǐng)悟能力有限,遇到了不少難題。幸運的是,我沒(méi)有放棄嘗試理解它。廢話(huà)不多說(shuō),這是我的學(xué)習過(guò)程。
如果你想通過(guò)調用新浪微博開(kāi)放平臺API來(lái)開(kāi)發(fā)自己的微博應用,第一步就是要有一個(gè)新浪微博賬號和一個(gè)CSDN賬號,因為我們需要同時(shí)用這兩個(gè)賬號創(chuàng )建一個(gè)微博應用,從而獲得App key和CSDN賬號。密鑰 。App key 和 Secret key 有什么用?
其實(shí)我只是看了新浪微博開(kāi)放平臺上的一系列說(shuō)明,對App key和Secret key的使用并不是很了解。因為更重要的一點(diǎn)是要了解OAuth認證授權的整個(gè)過(guò)程,以及幾個(gè)Token和4個(gè)URL在整個(gè)OAuth認證授權過(guò)程中的作用。
當我第一次遇到完全沒(méi)有概念的 OAuth 時(shí),我認為它是不可能學(xué)習的。幸運的是,我找到了下面的文章,對理解OAuth很有幫助。鏈接如下:
OAuth 中共有三個(gè)參與者,即用戶(hù)、服務(wù)提供者和消費者。假設我想開(kāi)發(fā)一個(gè)基于新浪微博開(kāi)放平臺的應用程序(App),供其他新浪微博用戶(hù)使用。它們的對應關(guān)系如下:
實(shí)際上,我們的App相當于User和Provider(新浪微博平臺)的第三方應用。作為第三方App,要想訪(fǎng)問(wèn)用戶(hù)存儲在新浪微博平臺的資源,必須經(jīng)過(guò)一系列的認證和授權后才能工作。
下面是根據我對整個(gè)OAuth認證授權過(guò)程的理解繪制的圖(可以看略過(guò),對以下一些概念有一定了解后再看這個(gè)流程圖):
結合上面的流程圖,下面是我對這些術(shù)語(yǔ)的理解和對各個(gè)流程的描述:
Consumer key和Consumer Secret:在新浪微博開(kāi)放平臺上分別稱(chēng)為App key和Secret key。Consumer 向 Provider 申請能夠調用其開(kāi)放的 API。申請通過(guò)后,Provider將其分配給滿(mǎn)足其要求的Consumer,以唯一標識滿(mǎn)足Provider要求的Consumer。
對應上圖中的流1和2。
Request Token,Request Secret:當User訪(fǎng)問(wèn)Consumer,想要獲取其特殊服務(wù)時(shí),該服務(wù)由Consumer整合存儲在Provider中的User自己的資源后返回。此時(shí),Consumer 向 Provider 請求獲取一個(gè) Requst Token,用于唯一標識 Consumer 和 User 之間的具體關(guān)聯(lián)。
對應上圖中的流程3、4、5。
在流程6中,Consumer必須將User引導到Provider提供的OAuth認證授權頁(yè)面。實(shí)際上,瀏覽器會(huì )重定向到附加了 Request Token 和 Request Secret 參數的 authenticationURL。URL 由 Provider 提供。
接下來(lái)在流程7和流程8中,User授權Consumer(一般是輸入賬號和密碼登錄),然后Provider會(huì )重定向到流程1中Consumer提供的Callback_URL,并附加OAuth Token和OAuth URL 參數的驗證程序。.
流程9,Consumer通過(guò)之前已經(jīng)從Provider獲取的Request Token,再次請求Provider獲取Access Token。
Access Token和Access Secret:如果Provider在流程10中返回了一個(gè)未經(jīng)User授權的Access Token,用于唯一標識特定的Consumer可以訪(fǎng)問(wèn)某個(gè)User存儲在Provider中的資源和信息。然后Consumer就可以開(kāi)始使用獲取到的Access Token和Access Secret來(lái)訪(fǎng)問(wèn)對應User存儲在Provider中的資源。
在流程11中對用戶(hù)信息進(jìn)行整合和操作后,可以將具體的服務(wù)結果返回給用戶(hù)。
通過(guò)以上對OAuth流程的了解,我們知道User并沒(méi)有將登錄Provider所需的賬號、密碼等泄露給第三方Consumer。同時(shí),用戶(hù)可以使用消費者的特殊服務(wù)。多么巧妙又安全的操作過(guò)程!
另外,上圖中,Consumer向Provider發(fā)出了三個(gè)不同的請求,實(shí)際上就是Provider提供了三個(gè)不同功能的URL供Consumer訪(fǎng)問(wèn)。新浪微博開(kāi)放平臺三個(gè)網(wǎng)址截圖如下:
使用OAuth在新浪微博開(kāi)放平臺驗證和發(fā)布微博
使用新浪微博開(kāi)放平臺的API,首先要獲取新浪分配的App key和App Secret。以下是我創(chuàng )建應用后新浪分配的App key和App Secret(這個(gè)要保密)。
然后下載微博SDK,我用的是Java的weibo4j。
將SDK包中Weibo.java類(lèi)的App Key和App Secret修改為剛剛獲取的App Key和App Secret,如下所示:
完成這些后,就可以根據提供的Demo開(kāi)始編寫(xiě)代碼了。如下:
WebOAuth.java用于初始化Weibo.java類(lèi)所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法獲取Request Token和Access Token。所需的參數顯示在代碼中。此外,還提供了一種發(fā)布文本微博的方法update()。
package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式認證 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 準備好Consumer Key、Consumer Secret // 對應于新浪微博應用就是申請到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根據傳入的 callback_url 獲取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并獲得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("獲取Request token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 request token 和 verifier 獲取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("獲取Access token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 Access Token 和內容發(fā)表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功發(fā)表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博內容轉編碼發(fā)生異常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println(來(lái)源gaodai.ma#com搞#代!碼網(wǎng)"發(fā)表微博發(fā)生異常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(這里我們自定義為下文中的callback.jsp),當獲取得到RequestToken之后,保存該RequestToken到Session中,并將頁(yè)面重定向到callback.jsp進(jìn)行驗證、授權。 請點(diǎn)擊進(jìn)行Web方式的OAuth認證!
callback.jsp,在上一步重定向后,會(huì )在callback_url后面附加oauth_verifier參數。這時(shí)候我們根據Session中保存的RequestToken和獲取到的oauth_verifier參數申請AccessToken。獲取到AccessToken后,我們將頁(yè)面重定向到writeWeibo.html,即寫(xiě)微博的頁(yè)面。
writeWeibo.html,很簡(jiǎn)單的HTML文件。 發(fā)布sina微博 請在這里寫(xiě)上140字符以?xún)鹊奈谋荆?lt;/br>測試新浪微博!</br></br> updateWeibo.jsp,用于發(fā)表文本微博,即調用WebOAuth.java 中的update方法。
運行前我們要準備好Tomcat,把上面的源文件放到正確的目錄下。另外SDK包中的commons-httpclient-3.1.jar包也要加到\WEB-INF\lib目錄下,還有我編譯打包的weibo4j.jar(里面是新浪微博開(kāi)放平臺中具體的Java實(shí)現)。
運行Tomcat,在瀏覽器中訪(fǎng)問(wèn)request.jsp頁(yè)面,如下圖:
點(diǎn)擊鏈接,如下圖(注意地址欄的變化):
地址欄中的網(wǎng)址如下:
://localhost:8080/sinaweibo/callback.jsp
填寫(xiě)具體有效的新浪微博賬號、密碼和授權。以下是我用于測試和授權的微博賬號填寫(xiě)的結果:
地址欄中的網(wǎng)址如下:
:8080/sinaweibo/writeWeibo.html
點(diǎn)擊“發(fā)布”,如下圖:
登錄微博查看,如下圖:
查看此帳戶(hù)授權的應用列表:
至此,利用新浪微博開(kāi)放平臺發(fā)布關(guān)于OAuth方式的微博大概就是這個(gè)過(guò)程了。
概括:
1、其實(shí)還有很多細節我沒(méi)有講到。我也嘗試了很多次,找到問(wèn)題,理解問(wèn)題,然后解決問(wèn)題;
2、如果我們登錄新浪微博的賬號信息的cookie已經(jīng)保存在瀏覽器中,那么授權時(shí)不需要輸入賬號信息,當然也可以不使用當前賬號進(jìn)行修改授權;
3、還有一些信息是在控制臺輸入的,比如Token、URL、服務(wù)器返回信息,截圖中沒(méi)有給出。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(調用新浪微博開(kāi)放平臺API開(kāi)發(fā)自己的微博應用(App))
新浪微博開(kāi)放平臺雖然提供多種語(yǔ)言的開(kāi)發(fā)SDK下載,但也有一些基本接口調用的demo和接口說(shuō)明文檔。但是經(jīng)過(guò)幾天的耐心嘗試,感覺(jué)新浪微博開(kāi)放平臺上的入門(mén)指南和下載的Java開(kāi)發(fā)包weibo4j包中的demo用法注釋有些不一致。再加上自身領(lǐng)悟能力有限,遇到了不少難題。幸運的是,我沒(méi)有放棄嘗試理解它。廢話(huà)不多說(shuō),這是我的學(xué)習過(guò)程。
如果你想通過(guò)調用新浪微博開(kāi)放平臺API來(lái)開(kāi)發(fā)自己的微博應用,第一步就是要有一個(gè)新浪微博賬號和一個(gè)CSDN賬號,因為我們需要同時(shí)用這兩個(gè)賬號創(chuàng )建一個(gè)微博應用,從而獲得App key和CSDN賬號。密鑰 。App key 和 Secret key 有什么用?
其實(shí)我只是看了新浪微博開(kāi)放平臺上的一系列說(shuō)明,對App key和Secret key的使用并不是很了解。因為更重要的一點(diǎn)是要了解OAuth認證授權的整個(gè)過(guò)程,以及幾個(gè)Token和4個(gè)URL在整個(gè)OAuth認證授權過(guò)程中的作用。
當我第一次遇到完全沒(méi)有概念的 OAuth 時(shí),我認為它是不可能學(xué)習的。幸運的是,我找到了下面的文章,對理解OAuth很有幫助。鏈接如下:
OAuth 中共有三個(gè)參與者,即用戶(hù)、服務(wù)提供者和消費者。假設我想開(kāi)發(fā)一個(gè)基于新浪微博開(kāi)放平臺的應用程序(App),供其他新浪微博用戶(hù)使用。它們的對應關(guān)系如下:
實(shí)際上,我們的App相當于User和Provider(新浪微博平臺)的第三方應用。作為第三方App,要想訪(fǎng)問(wèn)用戶(hù)存儲在新浪微博平臺的資源,必須經(jīng)過(guò)一系列的認證和授權后才能工作。
下面是根據我對整個(gè)OAuth認證授權過(guò)程的理解繪制的圖(可以看略過(guò),對以下一些概念有一定了解后再看這個(gè)流程圖):
結合上面的流程圖,下面是我對這些術(shù)語(yǔ)的理解和對各個(gè)流程的描述:
Consumer key和Consumer Secret:在新浪微博開(kāi)放平臺上分別稱(chēng)為App key和Secret key。Consumer 向 Provider 申請能夠調用其開(kāi)放的 API。申請通過(guò)后,Provider將其分配給滿(mǎn)足其要求的Consumer,以唯一標識滿(mǎn)足Provider要求的Consumer。
對應上圖中的流1和2。
Request Token,Request Secret:當User訪(fǎng)問(wèn)Consumer,想要獲取其特殊服務(wù)時(shí),該服務(wù)由Consumer整合存儲在Provider中的User自己的資源后返回。此時(shí),Consumer 向 Provider 請求獲取一個(gè) Requst Token,用于唯一標識 Consumer 和 User 之間的具體關(guān)聯(lián)。
對應上圖中的流程3、4、5。
在流程6中,Consumer必須將User引導到Provider提供的OAuth認證授權頁(yè)面。實(shí)際上,瀏覽器會(huì )重定向到附加了 Request Token 和 Request Secret 參數的 authenticationURL。URL 由 Provider 提供。
接下來(lái)在流程7和流程8中,User授權Consumer(一般是輸入賬號和密碼登錄),然后Provider會(huì )重定向到流程1中Consumer提供的Callback_URL,并附加OAuth Token和OAuth URL 參數的驗證程序。.
流程9,Consumer通過(guò)之前已經(jīng)從Provider獲取的Request Token,再次請求Provider獲取Access Token。
Access Token和Access Secret:如果Provider在流程10中返回了一個(gè)未經(jīng)User授權的Access Token,用于唯一標識特定的Consumer可以訪(fǎng)問(wèn)某個(gè)User存儲在Provider中的資源和信息。然后Consumer就可以開(kāi)始使用獲取到的Access Token和Access Secret來(lái)訪(fǎng)問(wèn)對應User存儲在Provider中的資源。
在流程11中對用戶(hù)信息進(jìn)行整合和操作后,可以將具體的服務(wù)結果返回給用戶(hù)。
通過(guò)以上對OAuth流程的了解,我們知道User并沒(méi)有將登錄Provider所需的賬號、密碼等泄露給第三方Consumer。同時(shí),用戶(hù)可以使用消費者的特殊服務(wù)。多么巧妙又安全的操作過(guò)程!
另外,上圖中,Consumer向Provider發(fā)出了三個(gè)不同的請求,實(shí)際上就是Provider提供了三個(gè)不同功能的URL供Consumer訪(fǎng)問(wèn)。新浪微博開(kāi)放平臺三個(gè)網(wǎng)址截圖如下:
使用OAuth在新浪微博開(kāi)放平臺驗證和發(fā)布微博
使用新浪微博開(kāi)放平臺的API,首先要獲取新浪分配的App key和App Secret。以下是我創(chuàng )建應用后新浪分配的App key和App Secret(這個(gè)要保密)。
然后下載微博SDK,我用的是Java的weibo4j。
將SDK包中Weibo.java類(lèi)的App Key和App Secret修改為剛剛獲取的App Key和App Secret,如下所示:
完成這些后,就可以根據提供的Demo開(kāi)始編寫(xiě)代碼了。如下:
WebOAuth.java用于初始化Weibo.java類(lèi)所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法獲取Request Token和Access Token。所需的參數顯示在代碼中。此外,還提供了一種發(fā)布文本微博的方法update()。
package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式認證 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 準備好Consumer Key、Consumer Secret // 對應于新浪微博應用就是申請到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根據傳入的 callback_url 獲取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并獲得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("獲取Request token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 request token 和 verifier 獲取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("獲取Access token發(fā)生異常!"); e.printStackTrace(); return null; } } // 根據傳入的 Access Token 和內容發(fā)表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功發(fā)表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博內容轉編碼發(fā)生異常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println(來(lái)源gaodai.ma#com搞#代!碼網(wǎng)"發(fā)表微博發(fā)生異常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(這里我們自定義為下文中的callback.jsp),當獲取得到RequestToken之后,保存該RequestToken到Session中,并將頁(yè)面重定向到callback.jsp進(jìn)行驗證、授權。 請點(diǎn)擊進(jìn)行Web方式的OAuth認證!
callback.jsp,在上一步重定向后,會(huì )在callback_url后面附加oauth_verifier參數。這時(shí)候我們根據Session中保存的RequestToken和獲取到的oauth_verifier參數申請AccessToken。獲取到AccessToken后,我們將頁(yè)面重定向到writeWeibo.html,即寫(xiě)微博的頁(yè)面。
writeWeibo.html,很簡(jiǎn)單的HTML文件。 發(fā)布sina微博 請在這里寫(xiě)上140字符以?xún)鹊奈谋荆?lt;/br>測試新浪微博!</br></br> updateWeibo.jsp,用于發(fā)表文本微博,即調用WebOAuth.java 中的update方法。
運行前我們要準備好Tomcat,把上面的源文件放到正確的目錄下。另外SDK包中的commons-httpclient-3.1.jar包也要加到\WEB-INF\lib目錄下,還有我編譯打包的weibo4j.jar(里面是新浪微博開(kāi)放平臺中具體的Java實(shí)現)。
運行Tomcat,在瀏覽器中訪(fǎng)問(wèn)request.jsp頁(yè)面,如下圖:
點(diǎn)擊鏈接,如下圖(注意地址欄的變化):
地址欄中的網(wǎng)址如下:
://localhost:8080/sinaweibo/callback.jsp
填寫(xiě)具體有效的新浪微博賬號、密碼和授權。以下是我用于測試和授權的微博賬號填寫(xiě)的結果:
地址欄中的網(wǎng)址如下:
:8080/sinaweibo/writeWeibo.html
點(diǎn)擊“發(fā)布”,如下圖:
登錄微博查看,如下圖:
查看此帳戶(hù)授權的應用列表:
至此,利用新浪微博開(kāi)放平臺發(fā)布關(guān)于OAuth方式的微博大概就是這個(gè)過(guò)程了。
概括:
1、其實(shí)還有很多細節我沒(méi)有講到。我也嘗試了很多次,找到問(wèn)題,理解問(wèn)題,然后解決問(wèn)題;
2、如果我們登錄新浪微博的賬號信息的cookie已經(jīng)保存在瀏覽器中,那么授權時(shí)不需要輸入賬號信息,當然也可以不使用當前賬號進(jìn)行修改授權;
3、還有一些信息是在控制臺輸入的,比如Token、URL、服務(wù)器返回信息,截圖中沒(méi)有給出。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博短鏈接API是開(kāi)放的,國外幾家已經(jīng)悲劇了)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 39 次瀏覽 ? 2022-01-12 22:12
在短地址(也叫短鏈接、縮短地址等)方面,推特發(fā)展后,還在不斷發(fā)展,很多互聯(lián)網(wǎng)網(wǎng)站使用短地址,國內外很多,但穩定且穩定??孔V,國內的更靠譜。我不怕沒(méi)有墻。幾家外國公司已經(jīng)遭遇了悲劇。因此,如果項目中使用短地址,我還是推薦使用新浪或者其他國內短鏈接服務(wù)。
新浪微博短鏈接API開(kāi)放,騰訊微博短地址API未開(kāi)放。我想通過(guò)不同的途徑獲取騰訊微博的API,但以失敗告終。新浪微博短地址API不需要用戶(hù)登錄,直接調用即可,速度非???。以下代碼來(lái)自網(wǎng)站,使用CURL POST方法作為參考。
新浪微博短鏈接API文檔在舊版開(kāi)發(fā)文檔中,新版中沒(méi)有添加:
function?shortenSinaUrl($long_url){
$apiKey='1234567890';//這里是你申請的應用的API?KEY,隨便寫(xiě)個(gè)應用名就會(huì )自動(dòng)分配給你
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandSinaUrl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
參考新浪微博的開(kāi)發(fā)文檔,推薦使用get方法獲取。那個(gè)代碼更簡(jiǎn)單
function?shorturl($long_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandurl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
好的,是不是更簡(jiǎn)單了?
調試上述代碼時(shí),需要填寫(xiě)自己的API key,否則無(wú)法獲取。
特別說(shuō)明:短地址服務(wù)現在只為已經(jīng)認證過(guò)的APP KEY提供服務(wù),剛剛申請的APP KEY會(huì )提示沒(méi)有權限。您可以使用兩個(gè)鍵 209678993 和 3818214747 進(jìn)行測試。這兩個(gè)密鑰的來(lái)源未知,不推薦用于生產(chǎn)。(感謝@congxz6688 的提醒)
jucelin寫(xiě)了一個(gè)調試文檔,可以測試一下:
長(cháng)到短:://
短到長(cháng)::///S4bLBm
參數只有2個(gè),類(lèi)型:1表示長(cháng)轉短,2表示短轉長(cháng),下面的網(wǎng)址是目標域名,因為懶,沒(méi)有錯誤判斷,新浪微博短地址不支持短地址和那么短地址是的,邏輯上應該是這樣控制的。(不信可以試試)。
新浪微博短地址接口更詳細的說(shuō)明請參考“新浪微博短地址接口”。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博短鏈接API是開(kāi)放的,國外幾家已經(jīng)悲劇了)
在短地址(也叫短鏈接、縮短地址等)方面,推特發(fā)展后,還在不斷發(fā)展,很多互聯(lián)網(wǎng)網(wǎng)站使用短地址,國內外很多,但穩定且穩定??孔V,國內的更靠譜。我不怕沒(méi)有墻。幾家外國公司已經(jīng)遭遇了悲劇。因此,如果項目中使用短地址,我還是推薦使用新浪或者其他國內短鏈接服務(wù)。
新浪微博短鏈接API開(kāi)放,騰訊微博短地址API未開(kāi)放。我想通過(guò)不同的途徑獲取騰訊微博的API,但以失敗告終。新浪微博短地址API不需要用戶(hù)登錄,直接調用即可,速度非???。以下代碼來(lái)自網(wǎng)站,使用CURL POST方法作為參考。
新浪微博短鏈接API文檔在舊版開(kāi)發(fā)文檔中,新版中沒(méi)有添加:
function?shortenSinaUrl($long_url){
$apiKey='1234567890';//這里是你申請的應用的API?KEY,隨便寫(xiě)個(gè)應用名就會(huì )自動(dòng)分配給你
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandSinaUrl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$curlObj?=?curl_init();
curl_setopt($curlObj,?CURLOPT_URL,?$apiUrl);
curl_setopt($curlObj,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($curlObj,?CURLOPT_SSL_VERIFYPEER,?0);
curl_setopt($curlObj,?CURLOPT_HEADER,?0);
curl_setopt($curlObj,?CURLOPT_HTTPHEADER,?array('Content-type:application/json'));
$response?=?curl_exec($curlObj);
curl_close($curlObj);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
參考新浪微博的開(kāi)發(fā)文檔,推薦使用get方法獲取。那個(gè)代碼更簡(jiǎn)單
function?shorturl($long_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_short;
}
function?expandurl($short_url){
$apiKey='1234567890';//要修改這里的key再測試哦
$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;
$response?=?file_get_contents($apiUrl);
$json?=?json_decode($response);
return?$json[0]->url_long;
}
好的,是不是更簡(jiǎn)單了?
調試上述代碼時(shí),需要填寫(xiě)自己的API key,否則無(wú)法獲取。
特別說(shuō)明:短地址服務(wù)現在只為已經(jīng)認證過(guò)的APP KEY提供服務(wù),剛剛申請的APP KEY會(huì )提示沒(méi)有權限。您可以使用兩個(gè)鍵 209678993 和 3818214747 進(jìn)行測試。這兩個(gè)密鑰的來(lái)源未知,不推薦用于生產(chǎn)。(感謝@congxz6688 的提醒)
jucelin寫(xiě)了一個(gè)調試文檔,可以測試一下:
長(cháng)到短:://
短到長(cháng)::///S4bLBm
參數只有2個(gè),類(lèi)型:1表示長(cháng)轉短,2表示短轉長(cháng),下面的網(wǎng)址是目標域名,因為懶,沒(méi)有錯誤判斷,新浪微博短地址不支持短地址和那么短地址是的,邏輯上應該是這樣控制的。(不信可以試試)。
新浪微博短地址接口更詳細的說(shuō)明請參考“新浪微博短地址接口”。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(聯(lián)合第三方平臺登錄接入,初次接觸開(kāi)放平臺和AppSecret5 )
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 88 次瀏覽 ? 2022-01-11 07:00
)
最近做了一個(gè)關(guān)于聯(lián)合第三方平臺的登錄訪(fǎng)問(wèn),第一次接觸到開(kāi)放平臺,在這里做個(gè)筆記。
開(kāi)發(fā)前的準備工作如下:
1、注冊新浪微博
2、訪(fǎng)問(wèn)新浪微博開(kāi)發(fā)平臺。如果是企業(yè),申請企業(yè)準入并提交相關(guān)材料進(jìn)行審核;如果是個(gè)人開(kāi)發(fā)者,請申請個(gè)人開(kāi)發(fā)者申請。我們以開(kāi)發(fā)者為例
3、使用新浪微博開(kāi)放API,需要向新浪申請一個(gè)appkey和一個(gè)App Secret。這些是入口。您必須先獲得這兩個(gè),然后才能進(jìn)行下一個(gè)訪(fǎng)問(wèn)工作。
4、輸入完善個(gè)人信息后,必須完成身份驗證審核。審核完成后,新浪開(kāi)放平臺會(huì )給出appkey和App Secret。
5、接下來(lái)就是如何使用appkey和App Secret了。您需要在開(kāi)放平臺下載文檔或演示代碼。其實(shí)提供的文檔基本上都是技術(shù)文檔,很多東西都沒(méi)有解釋清楚。還是會(huì )有很多麻煩
6、新浪開(kāi)放平臺提供了很多不同開(kāi)發(fā)語(yǔ)言的SDK,這里我選擇java SDK,下載一個(gè)zip文件(包括新接口和OAuth2.0),解壓后即可可以直接導入go到eclipse,結構如下,包括weibo4j源碼和示例代碼
這里是一個(gè)config配置文件,打開(kāi)如下:
我們之前申請的appkey和App Secret就派上用場(chǎng)了。這里的client_ID為appkey,client_SERCRET為App Secret,填寫(xiě)對應內容,redirect_URI為回調地址。
點(diǎn)擊“第三方”-》跳轉微博登錄-》登錄ok,授權-》回調自己的應用,這里是回調地址的意思。
7、開(kāi)始運行測試程序,測試程序在example下,包weibo4j.examples.oauth2下的類(lèi)OAuth4Code,這里我們需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把這一段改成oauth.authorize("code","","all"),至于為什么改這個(gè),請看界面此處的文檔 oauth.authorize 使用說(shuō)明
假設我們這里沒(méi)有回調地址,配置文件中的redirect_URI為空。運行后會(huì )自動(dòng)打開(kāi)瀏覽器運行測試,顯示如下:
此時(shí)的URL地址為:
這說(shuō)明我的appkey和App Secret是有效的,因為我們還沒(méi)有創(chuàng )建正式的應用,新浪無(wú)法識別我的來(lái)源
8、在開(kāi)放平臺上創(chuàng )建應用,如下圖
這里有三種類(lèi)型的應用程序,網(wǎng)站 訪(fǎng)問(wèn)、站內應用程序和移動(dòng)應用程序。如果是企業(yè)行為,有公有域名可以訪(fǎng)問(wèn),應用通過(guò)域名訪(fǎng)問(wèn)。這里可以用任何方法,但是如果我們只是一個(gè)簡(jiǎn)單的開(kāi)發(fā)者,沒(méi)有公網(wǎng)域名,比如內網(wǎng)模式,ip以?xún)染W(wǎng)地址192.168.開(kāi)頭1.*,本地127.0.0.1等,這里只能選擇創(chuàng )建站內應用,填寫(xiě)如下
這里紅框標注的地方就是回調地址。如果我沒(méi)有公網(wǎng)ip和域名的話(huà),我在局域網(wǎng)玩的時(shí)候隨便填,但是不能用localhost代替127.0.0.1,這里是按照配置要求做的,這個(gè)配置的要求很?chē)栏瘢?br /> 尤其是下面的應用圖標比較麻煩。完成后,您可以提交它們以供審核。
9、提交審核后,新浪開(kāi)放平臺會(huì )在1天左右第一時(shí)間向您的郵箱發(fā)送郵件通知您審核結果,但無(wú)論審核結果是否失敗,關(guān)鍵是提交審核。沒(méi)有審核成功,這里可以照常使用
10、完成測試項目中的配置文件redirect_URI,必須與創(chuàng )建應用時(shí)填寫(xiě)的【應用實(shí)際地址】一致,這是回調地址!完成配置后,再次運行OAuth4Code.java,如圖
在這里你會(huì )跳轉到新浪微博的登錄頁(yè)面。登錄新浪微博賬號后,需要點(diǎn)擊授權,表示平臺可以訪(fǎng)問(wèn)您的微博賬號相關(guān)內容分享您的信息等。授權結束后,
將返回一個(gè)代碼。這段代碼非常重要。它是我們整個(gè)訪(fǎng)問(wèn)第三方平臺的門(mén)鑰匙。通過(guò)這段代碼,我們可以獲取到用戶(hù)的access_token、UID等內容,相當于整個(gè)訪(fǎng)問(wèn)過(guò)程。
11、調用新浪微博開(kāi)放API
這里我們需要研究這些API來(lái)滿(mǎn)足訪(fǎng)問(wèn)的需要。首先要熟悉的是OAuth2.0授權接口,網(wǎng)上可以查到,如下:
12、通過(guò)servlet程序調用開(kāi)放API獲取新浪微博的UID和微博名的示例
response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博訪(fǎng)問(wèn)Token_Info:" + accessTokenObj + "\t");
out.println("微博訪(fǎng)問(wèn)Token:" + accessToken + "\t");
out.println("微博用戶(hù)-Uid:" + uid + "\t");
out.println("微博用戶(hù)-名稱(chēng):" + screenName + "\t");
out.flush();
out.close();*/
查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(聯(lián)合第三方平臺登錄接入,初次接觸開(kāi)放平臺和AppSecret5
)
最近做了一個(gè)關(guān)于聯(lián)合第三方平臺的登錄訪(fǎng)問(wèn),第一次接觸到開(kāi)放平臺,在這里做個(gè)筆記。
開(kāi)發(fā)前的準備工作如下:
1、注冊新浪微博
2、訪(fǎng)問(wèn)新浪微博開(kāi)發(fā)平臺。如果是企業(yè),申請企業(yè)準入并提交相關(guān)材料進(jìn)行審核;如果是個(gè)人開(kāi)發(fā)者,請申請個(gè)人開(kāi)發(fā)者申請。我們以開(kāi)發(fā)者為例
3、使用新浪微博開(kāi)放API,需要向新浪申請一個(gè)appkey和一個(gè)App Secret。這些是入口。您必須先獲得這兩個(gè),然后才能進(jìn)行下一個(gè)訪(fǎng)問(wèn)工作。
4、輸入完善個(gè)人信息后,必須完成身份驗證審核。審核完成后,新浪開(kāi)放平臺會(huì )給出appkey和App Secret。
5、接下來(lái)就是如何使用appkey和App Secret了。您需要在開(kāi)放平臺下載文檔或演示代碼。其實(shí)提供的文檔基本上都是技術(shù)文檔,很多東西都沒(méi)有解釋清楚。還是會(huì )有很多麻煩
6、新浪開(kāi)放平臺提供了很多不同開(kāi)發(fā)語(yǔ)言的SDK,這里我選擇java SDK,下載一個(gè)zip文件(包括新接口和OAuth2.0),解壓后即可可以直接導入go到eclipse,結構如下,包括weibo4j源碼和示例代碼

這里是一個(gè)config配置文件,打開(kāi)如下:

我們之前申請的appkey和App Secret就派上用場(chǎng)了。這里的client_ID為appkey,client_SERCRET為App Secret,填寫(xiě)對應內容,redirect_URI為回調地址。
點(diǎn)擊“第三方”-》跳轉微博登錄-》登錄ok,授權-》回調自己的應用,這里是回調地址的意思。
7、開(kāi)始運行測試程序,測試程序在example下,包weibo4j.examples.oauth2下的類(lèi)OAuth4Code,這里我們需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把這一段改成oauth.authorize("code","","all"),至于為什么改這個(gè),請看界面此處的文檔 oauth.authorize 使用說(shuō)明
假設我們這里沒(méi)有回調地址,配置文件中的redirect_URI為空。運行后會(huì )自動(dòng)打開(kāi)瀏覽器運行測試,顯示如下:

此時(shí)的URL地址為:
這說(shuō)明我的appkey和App Secret是有效的,因為我們還沒(méi)有創(chuàng )建正式的應用,新浪無(wú)法識別我的來(lái)源
8、在開(kāi)放平臺上創(chuàng )建應用,如下圖

這里有三種類(lèi)型的應用程序,網(wǎng)站 訪(fǎng)問(wèn)、站內應用程序和移動(dòng)應用程序。如果是企業(yè)行為,有公有域名可以訪(fǎng)問(wèn),應用通過(guò)域名訪(fǎng)問(wèn)。這里可以用任何方法,但是如果我們只是一個(gè)簡(jiǎn)單的開(kāi)發(fā)者,沒(méi)有公網(wǎng)域名,比如內網(wǎng)模式,ip以?xún)染W(wǎng)地址192.168.開(kāi)頭1.*,本地127.0.0.1等,這里只能選擇創(chuàng )建站內應用,填寫(xiě)如下

這里紅框標注的地方就是回調地址。如果我沒(méi)有公網(wǎng)ip和域名的話(huà),我在局域網(wǎng)玩的時(shí)候隨便填,但是不能用localhost代替127.0.0.1,這里是按照配置要求做的,這個(gè)配置的要求很?chē)栏瘢?br /> 尤其是下面的應用圖標比較麻煩。完成后,您可以提交它們以供審核。
9、提交審核后,新浪開(kāi)放平臺會(huì )在1天左右第一時(shí)間向您的郵箱發(fā)送郵件通知您審核結果,但無(wú)論審核結果是否失敗,關(guān)鍵是提交審核。沒(méi)有審核成功,這里可以照常使用

10、完成測試項目中的配置文件redirect_URI,必須與創(chuàng )建應用時(shí)填寫(xiě)的【應用實(shí)際地址】一致,這是回調地址!完成配置后,再次運行OAuth4Code.java,如圖

在這里你會(huì )跳轉到新浪微博的登錄頁(yè)面。登錄新浪微博賬號后,需要點(diǎn)擊授權,表示平臺可以訪(fǎng)問(wèn)您的微博賬號相關(guān)內容分享您的信息等。授權結束后,
將返回一個(gè)代碼。這段代碼非常重要。它是我們整個(gè)訪(fǎng)問(wèn)第三方平臺的門(mén)鑰匙。通過(guò)這段代碼,我們可以獲取到用戶(hù)的access_token、UID等內容,相當于整個(gè)訪(fǎng)問(wèn)過(guò)程。
11、調用新浪微博開(kāi)放API
這里我們需要研究這些API來(lái)滿(mǎn)足訪(fǎng)問(wèn)的需要。首先要熟悉的是OAuth2.0授權接口,網(wǎng)上可以查到,如下:

12、通過(guò)servlet程序調用開(kāi)放API獲取新浪微博的UID和微博名的示例

response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博訪(fǎng)問(wèn)Token_Info:" + accessTokenObj + "\t");
out.println("微博訪(fǎng)問(wèn)Token:" + accessToken + "\t");
out.println("微博用戶(hù)-Uid:" + uid + "\t");
out.println("微博用戶(hù)-名稱(chēng):" + screenName + "\t");
out.flush();
out.close();*/

使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(本次開(kāi)放微博渠道接口,不需要驗證網(wǎng)站地址。。)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 70 次瀏覽 ? 2022-01-10 10:19
此次開(kāi)通微博頻道界面,為廣大站長(cháng)提供了更便捷的申請方式。
不僅需要在管理后臺點(diǎn)擊應用,還可以將內容同步到微博,顯示來(lái)自自己網(wǎng)站。
無(wú)需等待開(kāi)放平臺審核,無(wú)需去微博開(kāi)放平臺申請,無(wú)需驗證網(wǎng)站地址。
新浪微博為您提供支持和開(kāi)放渠道接口,目前實(shí)現了以下功能。
發(fā)布更新文章,同時(shí)發(fā)布到微博時(shí),來(lái)源顯示為網(wǎng)站自定義的名稱(chēng),鏈接地址為本站自定義鏈接。它非常強大嗎?!
要實(shí)現這個(gè)功能,只需要簡(jiǎn)單的 3 個(gè)步驟:
【第一步】打開(kāi)管理后臺,進(jìn)入設置,滾動(dòng)至底部:設置新浪微博頻道AppKey。
【第二步】輸入站點(diǎn)名稱(chēng)和網(wǎng)站url:網(wǎng)站的名稱(chēng)將顯示為微博來(lái)源,不超過(guò)5個(gè)漢字,或10個(gè)英文/數字。url:點(diǎn)擊源后指向的網(wǎng)站網(wǎng)址,我們默認為您填寫(xiě)。
【第三步】授權此api:使用此時(shí)登錄的wp賬號對應的新浪微博賬號授權此api。
完畢!發(fā)帖文章來(lái)測試一下吧~
注意:
1.微博默認會(huì )在站點(diǎn)名稱(chēng)后加一個(gè)_ds logo,這樣站點(diǎn)就不會(huì )和原微博注冊沖突了;
2.僅對擁有授權微博賬號且在有效期內的用戶(hù),同步時(shí)會(huì )顯示來(lái)源;
3.在內測期間,新浪微博只提供7天的授權,您可以在頁(yè)面更新授權。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(本次開(kāi)放微博渠道接口,不需要驗證網(wǎng)站地址。。)
此次開(kāi)通微博頻道界面,為廣大站長(cháng)提供了更便捷的申請方式。
不僅需要在管理后臺點(diǎn)擊應用,還可以將內容同步到微博,顯示來(lái)自自己網(wǎng)站。
無(wú)需等待開(kāi)放平臺審核,無(wú)需去微博開(kāi)放平臺申請,無(wú)需驗證網(wǎng)站地址。
新浪微博為您提供支持和開(kāi)放渠道接口,目前實(shí)現了以下功能。
發(fā)布更新文章,同時(shí)發(fā)布到微博時(shí),來(lái)源顯示為網(wǎng)站自定義的名稱(chēng),鏈接地址為本站自定義鏈接。它非常強大嗎?!

要實(shí)現這個(gè)功能,只需要簡(jiǎn)單的 3 個(gè)步驟:
【第一步】打開(kāi)管理后臺,進(jìn)入設置,滾動(dòng)至底部:設置新浪微博頻道AppKey。

【第二步】輸入站點(diǎn)名稱(chēng)和網(wǎng)站url:網(wǎng)站的名稱(chēng)將顯示為微博來(lái)源,不超過(guò)5個(gè)漢字,或10個(gè)英文/數字。url:點(diǎn)擊源后指向的網(wǎng)站網(wǎng)址,我們默認為您填寫(xiě)。
【第三步】授權此api:使用此時(shí)登錄的wp賬號對應的新浪微博賬號授權此api。

完畢!發(fā)帖文章來(lái)測試一下吧~
注意:
1.微博默認會(huì )在站點(diǎn)名稱(chēng)后加一個(gè)_ds logo,這樣站點(diǎn)就不會(huì )和原微博注冊沖突了;
2.僅對擁有授權微博賬號且在有效期內的用戶(hù),同步時(shí)會(huì )顯示來(lái)源;
3.在內測期間,新浪微博只提供7天的授權,您可以在頁(yè)面更新授權。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(我是移動(dòng)應用開(kāi)發(fā)者,在我的應用中集成微博的功能)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 54 次瀏覽 ? 2022-01-10 03:09
我是一名移動(dòng)應用開(kāi)發(fā)者,我想在我的應用中集成微博的功能
移動(dòng)應用
微博開(kāi)放平臺為移動(dòng)應用開(kāi)發(fā)者提供了一個(gè)簡(jiǎn)單的開(kāi)發(fā)框架,多平臺、多終端的sdk,將幫助您將微博的功能集成到您的應用或wap站中。
IOS H5
我想為企業(yè)開(kāi)發(fā)微博平臺的應用,服務(wù)企業(yè)號和他的客戶(hù)
商業(yè)服務(wù)
通過(guò)微博開(kāi)放平臺提供的接口和渠道,企業(yè)開(kāi)發(fā)者為微博賬號提供與用戶(hù)私信交互、首頁(yè)定制、數據分析等服務(wù),即微服務(wù)。微服務(wù)只支持企業(yè)開(kāi)發(fā)者申請訪(fǎng)問(wèn)。
輕應用微博支付
更多可以幫助您的文檔
新手指南在訪(fǎng)問(wèn)網(wǎng)站和開(kāi)發(fā)應用之前,你需要知道如何成為平臺的開(kāi)發(fā)者,如何創(chuàng )建應用,提交審核,最終讓微博用戶(hù)在微博上找到你發(fā)布的應用微博應用廣場(chǎng)。
大部分API的訪(fǎng)問(wèn),比如發(fā)微博、獲取私信、關(guān)注,都需要用戶(hù)身份。目前,微博開(kāi)放平臺的用戶(hù)身份認證使用oauth2.0協(xié)議,并提供對Web、桌面和移動(dòng)應用的支持。.
API文檔:包括微博相關(guān)API、公共服務(wù)API、地理信息API。對于A(yíng)PI,您還可以在文檔調用頁(yè)面進(jìn)行評分和反饋,以便我們更好地為您提供接口支持。
開(kāi)發(fā)包:包括ios、android、java、php、python等多種語(yǔ)言。實(shí)現接入第三方wap站、客戶(hù)端等各種應用。
了解微博開(kāi)放平臺的政策和規范,清楚地開(kāi)發(fā)和運營(yíng)自己的應用程序:平臺約定,,,,。
常見(jiàn)問(wèn)題 應用相關(guān)問(wèn)題包括:應用管理、審計、高級接口和特殊權限、應用調優(yōu);接口問(wèn)題如接口策略等問(wèn)題。您可以在此處查看和解決它們。
語(yǔ)言:中文
從 ””
文件更新時(shí)間:2017-09-13 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(我是移動(dòng)應用開(kāi)發(fā)者,在我的應用中集成微博的功能)
我是一名移動(dòng)應用開(kāi)發(fā)者,我想在我的應用中集成微博的功能
移動(dòng)應用
微博開(kāi)放平臺為移動(dòng)應用開(kāi)發(fā)者提供了一個(gè)簡(jiǎn)單的開(kāi)發(fā)框架,多平臺、多終端的sdk,將幫助您將微博的功能集成到您的應用或wap站中。
IOS H5
我想為企業(yè)開(kāi)發(fā)微博平臺的應用,服務(wù)企業(yè)號和他的客戶(hù)
商業(yè)服務(wù)
通過(guò)微博開(kāi)放平臺提供的接口和渠道,企業(yè)開(kāi)發(fā)者為微博賬號提供與用戶(hù)私信交互、首頁(yè)定制、數據分析等服務(wù),即微服務(wù)。微服務(wù)只支持企業(yè)開(kāi)發(fā)者申請訪(fǎng)問(wèn)。
輕應用微博支付
更多可以幫助您的文檔
新手指南在訪(fǎng)問(wèn)網(wǎng)站和開(kāi)發(fā)應用之前,你需要知道如何成為平臺的開(kāi)發(fā)者,如何創(chuàng )建應用,提交審核,最終讓微博用戶(hù)在微博上找到你發(fā)布的應用微博應用廣場(chǎng)。
大部分API的訪(fǎng)問(wèn),比如發(fā)微博、獲取私信、關(guān)注,都需要用戶(hù)身份。目前,微博開(kāi)放平臺的用戶(hù)身份認證使用oauth2.0協(xié)議,并提供對Web、桌面和移動(dòng)應用的支持。.
API文檔:包括微博相關(guān)API、公共服務(wù)API、地理信息API。對于A(yíng)PI,您還可以在文檔調用頁(yè)面進(jìn)行評分和反饋,以便我們更好地為您提供接口支持。
開(kāi)發(fā)包:包括ios、android、java、php、python等多種語(yǔ)言。實(shí)現接入第三方wap站、客戶(hù)端等各種應用。
了解微博開(kāi)放平臺的政策和規范,清楚地開(kāi)發(fā)和運營(yíng)自己的應用程序:平臺約定,,,,。
常見(jiàn)問(wèn)題 應用相關(guān)問(wèn)題包括:應用管理、審計、高級接口和特殊權限、應用調優(yōu);接口問(wèn)題如接口策略等問(wèn)題。您可以在此處查看和解決它們。
語(yǔ)言:中文
從 ””
文件更新時(shí)間:2017-09-13
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(注冊新浪微博03登陸新浪開(kāi)放平臺09創(chuàng )建應用獲取AccessToken09 )
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 78 次瀏覽 ? 2022-01-10 03:09
)
前段時(shí)間,我抓取了微博的數據。想過(guò)用htmlunit模擬登錄新浪微博抓取數據。這兩天看了新浪微博官方API,發(fā)現可以通過(guò)新浪微博官方API獲取新浪微博。信息,更全面,更簡(jiǎn)單。以下是從注冊新浪微博,到完善新浪微博開(kāi)放平臺開(kāi)發(fā)者信息,再創(chuàng )建應用獲取Access Token,最后開(kāi)發(fā)自己的應用。
1 注冊126個(gè)郵箱
02注冊新浪微博
03 登錄新浪微博
04 登陸新浪開(kāi)放平臺
05查看微博API
06 可以看到獲得用戶(hù)關(guān)注的用戶(hù)信息列表
07 打開(kāi)api測試工具
08創(chuàng )建應用獲取AccessToken
09 創(chuàng )建應用
10選擇應用類(lèi)型
11 完成開(kāi)發(fā)者信息(如果之前已經(jīng)完善了開(kāi)發(fā)者信息,則跳過(guò)此步驟)
12 完整的開(kāi)發(fā)者信息
13 完成電子郵件確認
14 創(chuàng )建應用程序
15 成功創(chuàng )建應用(此處Appkey暫時(shí)不可用)
16 回到API測試用戶(hù)關(guān)系的地方
17 找到我的uid(在個(gè)人主頁(yè),后面最后一個(gè)數字是個(gè)人uid)
18 如果可以看到,請關(guān)注此用戶(hù)
19 最終結果,調用新浪微博的api,可以看到獲取到的數據為json格式
以上完成后,在網(wǎng)頁(yè)上成功調用新浪微博提供的api接口。接下來(lái),您需要編寫(xiě)一個(gè)程序來(lái)實(shí)現它。程序是模擬這個(gè)網(wǎng)頁(yè)發(fā)送請求,返回的數據是json格式,數據字段已經(jīng)定義好了。
比如模擬這個(gè)請求,然后解析數據:
做完這些,就該開(kāi)始正式開(kāi)發(fā)微博數據分析程序了。
查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(注冊新浪微博03登陸新浪開(kāi)放平臺09創(chuàng )建應用獲取AccessToken09
)
前段時(shí)間,我抓取了微博的數據。想過(guò)用htmlunit模擬登錄新浪微博抓取數據。這兩天看了新浪微博官方API,發(fā)現可以通過(guò)新浪微博官方API獲取新浪微博。信息,更全面,更簡(jiǎn)單。以下是從注冊新浪微博,到完善新浪微博開(kāi)放平臺開(kāi)發(fā)者信息,再創(chuàng )建應用獲取Access Token,最后開(kāi)發(fā)自己的應用。
1 注冊126個(gè)郵箱

02注冊新浪微博

03 登錄新浪微博

04 登陸新浪開(kāi)放平臺

05查看微博API

06 可以看到獲得用戶(hù)關(guān)注的用戶(hù)信息列表

07 打開(kāi)api測試工具

08創(chuàng )建應用獲取AccessToken

09 創(chuàng )建應用

10選擇應用類(lèi)型

11 完成開(kāi)發(fā)者信息(如果之前已經(jīng)完善了開(kāi)發(fā)者信息,則跳過(guò)此步驟)

12 完整的開(kāi)發(fā)者信息

13 完成電子郵件確認

14 創(chuàng )建應用程序

15 成功創(chuàng )建應用(此處Appkey暫時(shí)不可用)

16 回到API測試用戶(hù)關(guān)系的地方

17 找到我的uid(在個(gè)人主頁(yè),后面最后一個(gè)數字是個(gè)人uid)

18 如果可以看到,請關(guān)注此用戶(hù)

19 最終結果,調用新浪微博的api,可以看到獲取到的數據為json格式

以上完成后,在網(wǎng)頁(yè)上成功調用新浪微博提供的api接口。接下來(lái),您需要編寫(xiě)一個(gè)程序來(lái)實(shí)現它。程序是模擬這個(gè)網(wǎng)頁(yè)發(fā)送請求,返回的數據是json格式,數據字段已經(jīng)定義好了。
比如模擬這個(gè)請求,然后解析數據:

做完這些,就該開(kāi)始正式開(kāi)發(fā)微博數據分析程序了。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么把微信朋友圈同步到新浪微博呢?的圖片文字一一復制粘帖)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 78 次瀏覽 ? 2022-01-06 19:07
微信朋友圈里的東西也可以同步到新浪微博。你剛剛知道你出去了。那么,微信朋友圈怎么同步到新浪微博呢?下面小編為大家帶來(lái)微信朋友圈同步到新浪微博的教程。無(wú)需將朋友圈的圖片和文字一一復制粘貼。是不是很棒?
將微信朋友圈同步到新浪微博
在微信公眾號和朋友圈瘋狂擠壓個(gè)人時(shí)間的當下,很多人的微博都逐漸被拋棄了,這個(gè)工具可以幫你自動(dòng)同步任何朋友圈圖文內容到你的微博上。
這個(gè)可以為你省去很多麻煩的小工具叫做“同步圈”。顧名思義,就是把你的“朋友圈”“同步”到微博。
將微信朋友圈同步到新浪微博
為了一勞永逸地享受自動(dòng)同步的便利,您需要提前在PC瀏覽器中使用您的個(gè)人微博賬號登錄同步推文。網(wǎng)址在這里。獲得登錄授權后,網(wǎng)頁(yè)上會(huì )顯示二維碼。用微信掃一掃后,添加一個(gè)名為“同步圈”的個(gè)人微信賬號,很快就會(huì )通過(guò)驗證。
接下來(lái),您需要將二維碼下方的四位驗證碼發(fā)送到“同步圈”賬號,系統會(huì )提示您綁定成功!
經(jīng)測試,“同步圈”目前支持純文本、文本+表情、文本+圖片的自動(dòng)同步。您在朋友圈發(fā)布的小視頻和地理位置無(wú)法同步到您的個(gè)人微博。經(jīng)過(guò)實(shí)測,我也發(fā)現一些特殊的表情符號會(huì )被“同步圈”誤識別,可能會(huì )造成一些歧義或誤解。這大概是微信朋友圈和微博支持的表情不一致造成的。
從原理上看,“同步圈”調用微信朋友圈側的某些內容識別接口,可以自動(dòng)抓取綁定用戶(hù)的朋友圈內容,然后利用微博開(kāi)放平臺的API接口發(fā)送相同內容出去。抽象地說(shuō),“同步圈”與著(zhù)名的自動(dòng)化服務(wù)IFTTT非常相似。它剛剛在微信封閉的城墻上開(kāi)設了一個(gè)單向流量信息站,幫助用戶(hù)將內容輸出到更廣闊的公共網(wǎng)絡(luò )空間。
遺憾的是,根據pc6編輯對騰訊和微信團隊的了解,這個(gè)同步圈的“小聰明”可能很快就會(huì )失敗。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么把微信朋友圈同步到新浪微博呢?的圖片文字一一復制粘帖)
微信朋友圈里的東西也可以同步到新浪微博。你剛剛知道你出去了。那么,微信朋友圈怎么同步到新浪微博呢?下面小編為大家帶來(lái)微信朋友圈同步到新浪微博的教程。無(wú)需將朋友圈的圖片和文字一一復制粘貼。是不是很棒?

將微信朋友圈同步到新浪微博
在微信公眾號和朋友圈瘋狂擠壓個(gè)人時(shí)間的當下,很多人的微博都逐漸被拋棄了,這個(gè)工具可以幫你自動(dòng)同步任何朋友圈圖文內容到你的微博上。
這個(gè)可以為你省去很多麻煩的小工具叫做“同步圈”。顧名思義,就是把你的“朋友圈”“同步”到微博。

將微信朋友圈同步到新浪微博
為了一勞永逸地享受自動(dòng)同步的便利,您需要提前在PC瀏覽器中使用您的個(gè)人微博賬號登錄同步推文。網(wǎng)址在這里。獲得登錄授權后,網(wǎng)頁(yè)上會(huì )顯示二維碼。用微信掃一掃后,添加一個(gè)名為“同步圈”的個(gè)人微信賬號,很快就會(huì )通過(guò)驗證。
接下來(lái),您需要將二維碼下方的四位驗證碼發(fā)送到“同步圈”賬號,系統會(huì )提示您綁定成功!
經(jīng)測試,“同步圈”目前支持純文本、文本+表情、文本+圖片的自動(dòng)同步。您在朋友圈發(fā)布的小視頻和地理位置無(wú)法同步到您的個(gè)人微博。經(jīng)過(guò)實(shí)測,我也發(fā)現一些特殊的表情符號會(huì )被“同步圈”誤識別,可能會(huì )造成一些歧義或誤解。這大概是微信朋友圈和微博支持的表情不一致造成的。
從原理上看,“同步圈”調用微信朋友圈側的某些內容識別接口,可以自動(dòng)抓取綁定用戶(hù)的朋友圈內容,然后利用微博開(kāi)放平臺的API接口發(fā)送相同內容出去。抽象地說(shuō),“同步圈”與著(zhù)名的自動(dòng)化服務(wù)IFTTT非常相似。它剛剛在微信封閉的城墻上開(kāi)設了一個(gè)單向流量信息站,幫助用戶(hù)將內容輸出到更廣闊的公共網(wǎng)絡(luò )空間。
遺憾的是,根據pc6編輯對騰訊和微信團隊的了解,這個(gè)同步圈的“小聰明”可能很快就會(huì )失敗。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(網(wǎng)絡(luò )真是麻煩怎么辦?指令是做什么的?)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 51 次瀏覽 ? 2022-01-06 19:04
是不是因為我不是這個(gè)專(zhuān)業(yè)的?突然覺(jué)得上網(wǎng)真的很麻煩,尤其是要實(shí)現某個(gè)功能的編程,但是如果有時(shí)間,我會(huì )學(xué)習的。畢竟,我自己的程序可以讓自己放心,沒(méi)有廣告,沒(méi)有垃圾,并且知道哪個(gè)指令做了什么。
我前天注冊了一個(gè)IFTTT賬號。我剛注冊后沒(méi)用過(guò)。我使用了其他人分享的食譜來(lái)構建自己的同步并實(shí)現 Twitter 的定時(shí)天氣預報。后來(lái)發(fā)現自己想實(shí)現的某個(gè)功能很難找到,于是自己嘗試了一下。搭建一個(gè)其實(shí)很簡(jiǎn)單,但是有一種人叫-新手,我也是新手,不過(guò)現在可以了。
昨天突然想把推特和國內的微博同步,但是因為是國內的微博,IFTTT對自己的服務(wù)質(zhì)量和國內的各種網(wǎng)絡(luò )監控和防火墻造成了困難,最后想出了解決辦法。: 搭建一個(gè)wordpress(有免費的,我最后給),用搭建好的wordpress作為轉賬,此時(shí)IFTTT支持twitter同步到wordpress(配方點(diǎn)這里,我設置了原創(chuàng )時(shí)間轉賬,所以評論的轉推不會(huì )同步),Facebook和Tumblr也是一樣的,下面是一樣的。這只是完成了一個(gè)中介;
下一步就是將wordpress中的博客內容(申請WP教程)同步到各個(gè)微博。這個(gè)過(guò)程可以在 wordpress 插件的幫助下實(shí)現。我總共測試了兩個(gè)插件:
一、wp-sns-share
這個(gè)插件已經(jīng)測試可以實(shí)現手動(dòng)發(fā)博文,但是IFTTT自動(dòng)發(fā)的文章不會(huì )自動(dòng)轉發(fā),所以放棄了。如果手動(dòng)更新,可以選擇。
二、新版微博通同步
本插件經(jīng)過(guò)測試,可以很好的實(shí)現以上功能,目測延時(shí)很短。設置時(shí),您只需登錄您注冊的微博通賬號即可。缺點(diǎn)是需要額外申請微博通賬號并自動(dòng)發(fā)布。's微博顯示“微博通發(fā)布”,他對新浪微博的授權有時(shí)間限制:30天,其實(shí)還不錯,一個(gè)月就新授權一次
三.代碼方法(20140320補充,來(lái)自+King Goo的博客)
該方法需要使用新浪的接口,如下:
1) 前往新浪微博開(kāi)放平臺創(chuàng )建站內應用。審核通過(guò)也可以,審核通過(guò)了就可以在微博下展示某博客的申請,比如某博客。你可以在谷歌搜索上創(chuàng )建就可以了,很簡(jiǎn)單(但是如果你沒(méi)有通過(guò)審核想通過(guò)審核,我可以提供付費幫助嘎嘎~),創(chuàng )建應用后需要使用App Key以下申請的申請;
2)編輯你的主題的functions.php文件并在最后添加以下代碼
// 微博同步
function post_to_sina_weibo($post_ID) {
if( wp_is_post_revision($post_ID) ) return;
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
//去掉文章內的html編碼的空格、換行、tab等符號(如果你文章的編碼格式是這樣子,可以將下面的"//"去掉即開(kāi)啟此功能)
//$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace("?", " ", $get_post_centent)));
$get_post_title = get_post($post_ID)->post_title;
if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
$request = new WP_Http;
$status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ;
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array( 'status' => $status, 'source'=>'4135063399');
$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' );
$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);
你可能應該知道這意味著(zhù)什么
如果(wp_is_post_revision($post_ID))返回;
//如果是修改版 $get_post_info = get_post($post_ID);
//獲取文章信息
$get_post_centent =get_post($post_ID)->post_content;
//文章Content(不知道為什么使用了所有post_ID數據后獲取不到內容,所以只在請求下)
$get_post_title =get_post($post_ID)->post_title;
//文章標題
if ($get_post_info->post_status =='publish' &&$_POST['original_post_status'] !='publish') {
//判斷是發(fā)布的文章還是頁(yè)面
$status ='['。strip_tags( $get_post_title).'] '.mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...').' 全文地址:'.get_permalink($post_ID);
//strip_tags( $get_post_title) 就是獲取文章標題
// mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...') 是截取的長(cháng)度文章
//get_permalink($post_ID) 文章 鏈接地址
$api_url ='';
//舊接口不能用了,必須用v2.0
$body =array('status' => $status,'source'=>'4135063399');
// $status要發(fā)布的微博文字內容,內容不超過(guò)140個(gè)漢字
// $source 的值是應用程序的AppKey
$headers = array('Authorization' =>'Basic '.'bate64 編碼加密');
//'bate64編碼加密'的位置在這里,你可以自己加密你的賬號和密碼,格式為你的新浪微博登錄賬號:登錄密碼(例如:密碼)
//如果你不喜歡用這種方式 $headers = array('Authorization' =>'Basic '.'Bate64 encoding encryption'),就用下面的方法代替,一樣
//您的新浪微博登錄名
$用戶(hù)名 = ";
//您的新浪微博登錄密碼
$密碼 = ”;
$headers = array('Authorization' =>'Basic '.base64_encode('$username:$password'));
最后,在您發(fā)送博文后,一條消息將立即同步到微博
微博接口請求參數:
必需的
類(lèi)型和范圍
操作說(shuō)明
來(lái)源
錯誤的
細繩
OAuth授權方式不需要該參數,其他授權方式為必選參數,值為應用的AppKey
地位
真的
細繩
發(fā)布的微博文字內容必須經(jīng)過(guò)URL編碼,內容不得超過(guò)140個(gè)漢字。
可見(jiàn)的
錯誤的
整數
微博可見(jiàn)度,0:所有人可見(jiàn),1:只有自己可見(jiàn),2:密友可見(jiàn),3:指定群組可見(jiàn),默認為0。
訪(fǎng)問(wèn)令牌
錯誤的
細繩
OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權后獲取。
list_id
錯誤的
細繩
微博的受保護傳遞指定了組ID,僅當visible 參數為3 時(shí)才生效,并且是必需的。
緯度
錯誤的
漂浮
緯度,有效范圍:-90.0 to +90.0,+表示北緯,默認為0.0。
長(cháng)
錯誤的
漂浮
經(jīng)度,有效范圍:-180.0 to +180.0,+表示東經(jīng),默認為0.0。
注釋
錯誤的
細繩
元數據主要是為了方便第三方應用記錄一些適合自己使用的信息。每個(gè)微博可以收錄一個(gè)或多個(gè)元數據,必須以json字符串的形式提交,字符串長(cháng)度不能超過(guò)512個(gè)字符。具體內容可定制。
這幾乎是我這兩天所做的。為了測試這個(gè)同步,我變得可笑了。昨天刷了半天,呵呵。
還有一個(gè)推特機器人,可以實(shí)現一些關(guān)鍵詞自動(dòng)回復、自動(dòng)推文和常規推文,網(wǎng)址:點(diǎn)此。有英文和日文兩種語(yǔ)言,看看應該能操作。
接下來(lái)大家可以看看我同步的結果,我的推特,我的wordpress,我的新浪微博,我的騰訊微博,因為那個(gè)推特的圖片都是鏈接的形式,所以對于有圖片的推文,有同步時(shí)會(huì )報錯:missing or missing。
最后吐槽:尼瑪的FGW?。。。。。。?! 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(網(wǎng)絡(luò )真是麻煩怎么辦?指令是做什么的?)
是不是因為我不是這個(gè)專(zhuān)業(yè)的?突然覺(jué)得上網(wǎng)真的很麻煩,尤其是要實(shí)現某個(gè)功能的編程,但是如果有時(shí)間,我會(huì )學(xué)習的。畢竟,我自己的程序可以讓自己放心,沒(méi)有廣告,沒(méi)有垃圾,并且知道哪個(gè)指令做了什么。
我前天注冊了一個(gè)IFTTT賬號。我剛注冊后沒(méi)用過(guò)。我使用了其他人分享的食譜來(lái)構建自己的同步并實(shí)現 Twitter 的定時(shí)天氣預報。后來(lái)發(fā)現自己想實(shí)現的某個(gè)功能很難找到,于是自己嘗試了一下。搭建一個(gè)其實(shí)很簡(jiǎn)單,但是有一種人叫-新手,我也是新手,不過(guò)現在可以了。
昨天突然想把推特和國內的微博同步,但是因為是國內的微博,IFTTT對自己的服務(wù)質(zhì)量和國內的各種網(wǎng)絡(luò )監控和防火墻造成了困難,最后想出了解決辦法。: 搭建一個(gè)wordpress(有免費的,我最后給),用搭建好的wordpress作為轉賬,此時(shí)IFTTT支持twitter同步到wordpress(配方點(diǎn)這里,我設置了原創(chuàng )時(shí)間轉賬,所以評論的轉推不會(huì )同步),Facebook和Tumblr也是一樣的,下面是一樣的。這只是完成了一個(gè)中介;
下一步就是將wordpress中的博客內容(申請WP教程)同步到各個(gè)微博。這個(gè)過(guò)程可以在 wordpress 插件的幫助下實(shí)現。我總共測試了兩個(gè)插件:
一、wp-sns-share
這個(gè)插件已經(jīng)測試可以實(shí)現手動(dòng)發(fā)博文,但是IFTTT自動(dòng)發(fā)的文章不會(huì )自動(dòng)轉發(fā),所以放棄了。如果手動(dòng)更新,可以選擇。
二、新版微博通同步
本插件經(jīng)過(guò)測試,可以很好的實(shí)現以上功能,目測延時(shí)很短。設置時(shí),您只需登錄您注冊的微博通賬號即可。缺點(diǎn)是需要額外申請微博通賬號并自動(dòng)發(fā)布。's微博顯示“微博通發(fā)布”,他對新浪微博的授權有時(shí)間限制:30天,其實(shí)還不錯,一個(gè)月就新授權一次
三.代碼方法(20140320補充,來(lái)自+King Goo的博客)
該方法需要使用新浪的接口,如下:
1) 前往新浪微博開(kāi)放平臺創(chuàng )建站內應用。審核通過(guò)也可以,審核通過(guò)了就可以在微博下展示某博客的申請,比如某博客。你可以在谷歌搜索上創(chuàng )建就可以了,很簡(jiǎn)單(但是如果你沒(méi)有通過(guò)審核想通過(guò)審核,我可以提供付費幫助嘎嘎~),創(chuàng )建應用后需要使用App Key以下申請的申請;
2)編輯你的主題的functions.php文件并在最后添加以下代碼
// 微博同步
function post_to_sina_weibo($post_ID) {
if( wp_is_post_revision($post_ID) ) return;
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
//去掉文章內的html編碼的空格、換行、tab等符號(如果你文章的編碼格式是這樣子,可以將下面的"//"去掉即開(kāi)啟此功能)
//$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace("?", " ", $get_post_centent)));
$get_post_title = get_post($post_ID)->post_title;
if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
$request = new WP_Http;
$status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ;
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array( 'status' => $status, 'source'=>'4135063399');
$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' );
$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);
你可能應該知道這意味著(zhù)什么
如果(wp_is_post_revision($post_ID))返回;
//如果是修改版 $get_post_info = get_post($post_ID);
//獲取文章信息
$get_post_centent =get_post($post_ID)->post_content;
//文章Content(不知道為什么使用了所有post_ID數據后獲取不到內容,所以只在請求下)
$get_post_title =get_post($post_ID)->post_title;
//文章標題
if ($get_post_info->post_status =='publish' &&$_POST['original_post_status'] !='publish') {
//判斷是發(fā)布的文章還是頁(yè)面
$status ='['。strip_tags( $get_post_title).'] '.mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...').' 全文地址:'.get_permalink($post_ID);
//strip_tags( $get_post_title) 就是獲取文章標題
// mb_strimwidth(strip_tags( apply_filters('the_content',$get_post_centent)),0, 132,'...') 是截取的長(cháng)度文章
//get_permalink($post_ID) 文章 鏈接地址
$api_url ='';
//舊接口不能用了,必須用v2.0
$body =array('status' => $status,'source'=>'4135063399');
// $status要發(fā)布的微博文字內容,內容不超過(guò)140個(gè)漢字
// $source 的值是應用程序的AppKey
$headers = array('Authorization' =>'Basic '.'bate64 編碼加密');
//'bate64編碼加密'的位置在這里,你可以自己加密你的賬號和密碼,格式為你的新浪微博登錄賬號:登錄密碼(例如:密碼)
//如果你不喜歡用這種方式 $headers = array('Authorization' =>'Basic '.'Bate64 encoding encryption'),就用下面的方法代替,一樣
//您的新浪微博登錄名
$用戶(hù)名 = ";
//您的新浪微博登錄密碼
$密碼 = ”;
$headers = array('Authorization' =>'Basic '.base64_encode('$username:$password'));
最后,在您發(fā)送博文后,一條消息將立即同步到微博
微博接口請求參數:
必需的
類(lèi)型和范圍
操作說(shuō)明
來(lái)源
錯誤的
細繩
OAuth授權方式不需要該參數,其他授權方式為必選參數,值為應用的AppKey
地位
真的
細繩
發(fā)布的微博文字內容必須經(jīng)過(guò)URL編碼,內容不得超過(guò)140個(gè)漢字。
可見(jiàn)的
錯誤的
整數
微博可見(jiàn)度,0:所有人可見(jiàn),1:只有自己可見(jiàn),2:密友可見(jiàn),3:指定群組可見(jiàn),默認為0。
訪(fǎng)問(wèn)令牌
錯誤的
細繩
OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權后獲取。
list_id
錯誤的
細繩
微博的受保護傳遞指定了組ID,僅當visible 參數為3 時(shí)才生效,并且是必需的。
緯度
錯誤的
漂浮
緯度,有效范圍:-90.0 to +90.0,+表示北緯,默認為0.0。
長(cháng)
錯誤的
漂浮
經(jīng)度,有效范圍:-180.0 to +180.0,+表示東經(jīng),默認為0.0。
注釋
錯誤的
細繩
元數據主要是為了方便第三方應用記錄一些適合自己使用的信息。每個(gè)微博可以收錄一個(gè)或多個(gè)元數據,必須以json字符串的形式提交,字符串長(cháng)度不能超過(guò)512個(gè)字符。具體內容可定制。
這幾乎是我這兩天所做的。為了測試這個(gè)同步,我變得可笑了。昨天刷了半天,呵呵。

還有一個(gè)推特機器人,可以實(shí)現一些關(guān)鍵詞自動(dòng)回復、自動(dòng)推文和常規推文,網(wǎng)址:點(diǎn)此。有英文和日文兩種語(yǔ)言,看看應該能操作。
接下來(lái)大家可以看看我同步的結果,我的推特,我的wordpress,我的新浪微博,我的騰訊微博,因為那個(gè)推特的圖片都是鏈接的形式,所以對于有圖片的推文,有同步時(shí)會(huì )報錯:missing or missing。
最后吐槽:尼瑪的FGW?。。。。。。?!
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(FanlyWeibo新浪微博同步插件(WordPress插件安裝教程)(組圖))
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 74 次瀏覽 ? 2022-01-06 08:09
Fanly微博是紫帆為WordPress程序設計開(kāi)發(fā)的新浪微博同步插件??梢栽赪ordPress發(fā)布文章時(shí)自動(dòng)將微博內容與圖文同步,支持自定義文章類(lèi)型,定時(shí)文章、微博延時(shí)同步等豐富功能。
如果您購買(mǎi)了Fanly微博新浪微博同步插件,請務(wù)必仔細閱讀以下所有操作和步驟,否則您可能無(wú)法正常使用該插件。
Fanly微博插件安裝
1.購買(mǎi)并下載Fanly-Weibo.zip插件文件;
2. 在線(xiàn)或FTP上傳并安裝Fanly微博插件并啟用。(WordPress插件安裝教程)
Fanly微博插件配置
1. 通過(guò)“WordPress后臺->設置->粉絲微博”進(jìn)入插件設置頁(yè)面(如下圖)。
2. 插件首次安裝或重置時(shí)會(huì )出現最簡(jiǎn)單的設置頁(yè)面。只能輸入微博APP Key和APP Secret才能進(jìn)入插件完成頁(yè)面。通過(guò)微博開(kāi)放平臺進(jìn)入申請頁(yè)面,如下圖填寫(xiě)并保存相應信息。
3. 設置并保存微博APP Key和APP Secret后,會(huì )顯示完整的Fanly微博插件設置頁(yè)面,如下圖:
4.微博令牌:點(diǎn)擊“獲取令牌”開(kāi)始獲取微博用戶(hù)的授權令牌,所以如果你已經(jīng)登錄微博賬號,可能會(huì )提示你授權,確認后繼續,如果出現錯誤提示出現,請先查看本用戶(hù)手冊中的“Fanly微博常見(jiàn)問(wèn)題”以查看解決方案。如果您想查看相關(guān)解決方案,請復制錯誤信息并通過(guò)Fanly微博插件頁(yè)面留給我們。
5.延遲時(shí)間:該功能是范力微博V3.3中推出的新功能。它利用WordPress的定時(shí)任務(wù)功能來(lái)延遲微博內容的同步。簡(jiǎn)單的說(shuō),當我們通過(guò)WordPress發(fā)布一篇文章文章時(shí),我不希望它盡快同步到微博,所以通過(guò)設置延遲時(shí)間,可以實(shí)現微博內容同步后文章 發(fā)布后多少分鐘。
6. 支持類(lèi)型:可能你的WordPress主題很強大,功能也很多,所以有很多自定義類(lèi)型文章或者內容。這里的插件也是支持的,所以你需要檢查一下你需要支持的類(lèi)型,以保證插件在發(fā)布的時(shí)候可以正常使用。
7.授權回調頁(yè)面:該選項不可編輯,內容作為配置微博應用信息->高級信息->OAuth2.0授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面設置, 授權回調頁(yè)面和取消授權回調頁(yè)面的填寫(xiě)方式相同。如下所示:
8. 是否支持摘要:該功能支持WordPress 文章 內容摘要支持。如果設置了摘要內容,啟用該功能會(huì )先同步摘要內容,否則插件會(huì )先提取文章 超過(guò)微博界面同步長(cháng)度的片段內容會(huì )被自動(dòng)攔截。
9. 是否默認同步:勾選后會(huì )默認同步,也可以在發(fā)布時(shí)選擇延遲/立即/取消同步文章!
10. 保存更改。完成設置后,請記得保存更改以完成所有插件配置。
微博應用設置
配置插件信息后,還需要在微博應用中設置兩個(gè)地方,一個(gè)是授權回調頁(yè)面和去授權回調頁(yè)面,一個(gè)是安全域名。
授權回調頁(yè)面/取消授權回調頁(yè)面:微博開(kāi)放平臺->我的申請->具體申請頁(yè)面->申請信息->高級信息->OAuth2.0 授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面,這兩個(gè)地址是通過(guò)插件配置頁(yè)面中的“授權回調頁(yè)面”獲取的,兩者地址相同。
安全域名:微博開(kāi)放平臺->我的應用->具體應用頁(yè)面->應用信息->基本信息,通過(guò)編輯添加當前插件網(wǎng)站所在的域名地址。
Fanly微博常見(jiàn)問(wèn)題
Q:代幣獲取失敗
A:當您點(diǎn)擊“獲取Token”頁(yè)面提示錯誤時(shí),請確認并通過(guò)“應用信息->高級信息->OAuth2.0授權設置->授權回調”設置授權回調頁(yè)面地址頁(yè)面/取消授權回調頁(yè)面”,詳細設置請參考上面范力微博插件配置中的第7步。
Q:微博無(wú)法同步的情況
A:微博無(wú)法同步可能有以下三種情況:1.token過(guò)期,您可以再次嘗試“獲取Token”;2. 微博應用未設置“安全域名”,通過(guò)“微博開(kāi)放平臺”->我的應用->具體應用頁(yè)面->應用信息->基本信息”編輯并添加安全域名; 3. 請確保微博申請已通過(guò)“審核”。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(FanlyWeibo新浪微博同步插件(WordPress插件安裝教程)(組圖))
Fanly微博是紫帆為WordPress程序設計開(kāi)發(fā)的新浪微博同步插件??梢栽赪ordPress發(fā)布文章時(shí)自動(dòng)將微博內容與圖文同步,支持自定義文章類(lèi)型,定時(shí)文章、微博延時(shí)同步等豐富功能。

如果您購買(mǎi)了Fanly微博新浪微博同步插件,請務(wù)必仔細閱讀以下所有操作和步驟,否則您可能無(wú)法正常使用該插件。
Fanly微博插件安裝
1.購買(mǎi)并下載Fanly-Weibo.zip插件文件;
2. 在線(xiàn)或FTP上傳并安裝Fanly微博插件并啟用。(WordPress插件安裝教程)
Fanly微博插件配置
1. 通過(guò)“WordPress后臺->設置->粉絲微博”進(jìn)入插件設置頁(yè)面(如下圖)。

2. 插件首次安裝或重置時(shí)會(huì )出現最簡(jiǎn)單的設置頁(yè)面。只能輸入微博APP Key和APP Secret才能進(jìn)入插件完成頁(yè)面。通過(guò)微博開(kāi)放平臺進(jìn)入申請頁(yè)面,如下圖填寫(xiě)并保存相應信息。

3. 設置并保存微博APP Key和APP Secret后,會(huì )顯示完整的Fanly微博插件設置頁(yè)面,如下圖:

4.微博令牌:點(diǎn)擊“獲取令牌”開(kāi)始獲取微博用戶(hù)的授權令牌,所以如果你已經(jīng)登錄微博賬號,可能會(huì )提示你授權,確認后繼續,如果出現錯誤提示出現,請先查看本用戶(hù)手冊中的“Fanly微博常見(jiàn)問(wèn)題”以查看解決方案。如果您想查看相關(guān)解決方案,請復制錯誤信息并通過(guò)Fanly微博插件頁(yè)面留給我們。
5.延遲時(shí)間:該功能是范力微博V3.3中推出的新功能。它利用WordPress的定時(shí)任務(wù)功能來(lái)延遲微博內容的同步。簡(jiǎn)單的說(shuō),當我們通過(guò)WordPress發(fā)布一篇文章文章時(shí),我不希望它盡快同步到微博,所以通過(guò)設置延遲時(shí)間,可以實(shí)現微博內容同步后文章 發(fā)布后多少分鐘。
6. 支持類(lèi)型:可能你的WordPress主題很強大,功能也很多,所以有很多自定義類(lèi)型文章或者內容。這里的插件也是支持的,所以你需要檢查一下你需要支持的類(lèi)型,以保證插件在發(fā)布的時(shí)候可以正常使用。
7.授權回調頁(yè)面:該選項不可編輯,內容作為配置微博應用信息->高級信息->OAuth2.0授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面設置, 授權回調頁(yè)面和取消授權回調頁(yè)面的填寫(xiě)方式相同。如下所示:

8. 是否支持摘要:該功能支持WordPress 文章 內容摘要支持。如果設置了摘要內容,啟用該功能會(huì )先同步摘要內容,否則插件會(huì )先提取文章 超過(guò)微博界面同步長(cháng)度的片段內容會(huì )被自動(dòng)攔截。
9. 是否默認同步:勾選后會(huì )默認同步,也可以在發(fā)布時(shí)選擇延遲/立即/取消同步文章!
10. 保存更改。完成設置后,請記得保存更改以完成所有插件配置。
微博應用設置
配置插件信息后,還需要在微博應用中設置兩個(gè)地方,一個(gè)是授權回調頁(yè)面和去授權回調頁(yè)面,一個(gè)是安全域名。
授權回調頁(yè)面/取消授權回調頁(yè)面:微博開(kāi)放平臺->我的申請->具體申請頁(yè)面->申請信息->高級信息->OAuth2.0 授權設置->授權回調頁(yè)面/取消授權回調頁(yè)面,這兩個(gè)地址是通過(guò)插件配置頁(yè)面中的“授權回調頁(yè)面”獲取的,兩者地址相同。
安全域名:微博開(kāi)放平臺->我的應用->具體應用頁(yè)面->應用信息->基本信息,通過(guò)編輯添加當前插件網(wǎng)站所在的域名地址。
Fanly微博常見(jiàn)問(wèn)題
Q:代幣獲取失敗
A:當您點(diǎn)擊“獲取Token”頁(yè)面提示錯誤時(shí),請確認并通過(guò)“應用信息->高級信息->OAuth2.0授權設置->授權回調”設置授權回調頁(yè)面地址頁(yè)面/取消授權回調頁(yè)面”,詳細設置請參考上面范力微博插件配置中的第7步。
Q:微博無(wú)法同步的情況
A:微博無(wú)法同步可能有以下三種情況:1.token過(guò)期,您可以再次嘗試“獲取Token”;2. 微博應用未設置“安全域名”,通過(guò)“微博開(kāi)放平臺”->我的應用->具體應用頁(yè)面->應用信息->基本信息”編輯并添加安全域名; 3. 請確保微博申請已通過(guò)“審核”。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 63 次瀏覽 ? 2022-01-06 05:03
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序使用樂(lè )訊api同步微博內容至自己網(wǎng)站/小程序后續再深入學(xué)習一下他們的開(kāi)發(fā),避免過(guò)度依賴(lài)服務(wù)器提供的數據接口(比如接入樂(lè )訊來(lái)同步微博內容,樂(lè )訊要求返回imgurl并把imgurl指向微博地址,才能獲取微博數據),解決微博/小程序,比如需要將統計數據導出到txt保存使用lineapi同步微博內容至自己網(wǎng)站/小程序使用singaporeapi同步微博內容至自己網(wǎng)站/小程序使用信鴿api同步微博內容至自己網(wǎng)站/小程序解決小程序為復雜動(dòng)態(tài)效果而無(wú)法獲取數據(比如使用超鏈接,使用二維碼)、個(gè)人博客中的數據無(wú)法同步至公共開(kāi)放平臺,同步服務(wù)器帶寬/延遲等問(wèn)題解決博客/博客,或其他平臺markdown粘貼復制到wordpress中未能正確處理導入導出時(shí)的字符問(wèn)題歡迎繼續討論。
技術(shù)經(jīng)驗談主要是es6ajax實(shí)現
我們也在尋找有效的github同步,在微博中插入外鏈,實(shí)現博客的轉發(fā)?,F在可以關(guān)注github周報,每周都有實(shí)用技巧、github項目變化等。react中文社區不止于發(fā)布react相關(guān)信息,也包括大家經(jīng)常關(guān)注的react和node,webpack,leancloud,redis,kibana,openstack等等。
還有除了知道要發(fā)布一個(gè)react項目之外,對想要了解reactdevtools上面不斷更新的新功能,也是很關(guān)注的。沒(méi)有任何github要求,只要你的博客用戶(hù)中有使用github的,就有機會(huì )以。阿里風(fēng)投系生態(tài)圈wordpress作為谷歌公司的產(chǎn)品,受到了很多用戶(hù)的歡迎。wordpress對于html5和webpack等web基礎知識和web開(kāi)發(fā)能力是需要一定的了解的。
wordpress想要更好的發(fā)展,解決文章和靜態(tài)頁(yè)面同步問(wèn)題,最好能給用戶(hù)提供api。let'sencrypt大家都是知道的,postgresql項目的原始版本是基于let'sencrypt,其開(kāi)發(fā)思路基于這個(gè)項目,現在不止想要解決權限問(wèn)題,更希望能找到更多能夠直接解決復雜權限的api。quip最近quip處于準備上線(xiàn)狀態(tài),希望能盡快把quip升級到postgresql3.4。你可以去官網(wǎng)看看,最后放一個(gè)api網(wǎng)址/~gohlke/pythonlibs/#python33。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序)
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站/小程序使用樂(lè )訊api同步微博內容至自己網(wǎng)站/小程序后續再深入學(xué)習一下他們的開(kāi)發(fā),避免過(guò)度依賴(lài)服務(wù)器提供的數據接口(比如接入樂(lè )訊來(lái)同步微博內容,樂(lè )訊要求返回imgurl并把imgurl指向微博地址,才能獲取微博數據),解決微博/小程序,比如需要將統計數據導出到txt保存使用lineapi同步微博內容至自己網(wǎng)站/小程序使用singaporeapi同步微博內容至自己網(wǎng)站/小程序使用信鴿api同步微博內容至自己網(wǎng)站/小程序解決小程序為復雜動(dòng)態(tài)效果而無(wú)法獲取數據(比如使用超鏈接,使用二維碼)、個(gè)人博客中的數據無(wú)法同步至公共開(kāi)放平臺,同步服務(wù)器帶寬/延遲等問(wèn)題解決博客/博客,或其他平臺markdown粘貼復制到wordpress中未能正確處理導入導出時(shí)的字符問(wèn)題歡迎繼續討論。
技術(shù)經(jīng)驗談主要是es6ajax實(shí)現
我們也在尋找有效的github同步,在微博中插入外鏈,實(shí)現博客的轉發(fā)?,F在可以關(guān)注github周報,每周都有實(shí)用技巧、github項目變化等。react中文社區不止于發(fā)布react相關(guān)信息,也包括大家經(jīng)常關(guān)注的react和node,webpack,leancloud,redis,kibana,openstack等等。
還有除了知道要發(fā)布一個(gè)react項目之外,對想要了解reactdevtools上面不斷更新的新功能,也是很關(guān)注的。沒(méi)有任何github要求,只要你的博客用戶(hù)中有使用github的,就有機會(huì )以。阿里風(fēng)投系生態(tài)圈wordpress作為谷歌公司的產(chǎn)品,受到了很多用戶(hù)的歡迎。wordpress對于html5和webpack等web基礎知識和web開(kāi)發(fā)能力是需要一定的了解的。
wordpress想要更好的發(fā)展,解決文章和靜態(tài)頁(yè)面同步問(wèn)題,最好能給用戶(hù)提供api。let'sencrypt大家都是知道的,postgresql項目的原始版本是基于let'sencrypt,其開(kāi)發(fā)思路基于這個(gè)項目,現在不止想要解決權限問(wèn)題,更希望能找到更多能夠直接解決復雜權限的api。quip最近quip處于準備上線(xiàn)狀態(tài),希望能盡快把quip升級到postgresql3.4。你可以去官網(wǎng)看看,最后放一個(gè)api網(wǎng)址/~gohlke/pythonlibs/#python33。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(極客公園觀(guān)察家@NovaDNG發(fā)現新浪微博API更改內容原文)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 45 次瀏覽 ? 2022-01-05 07:00
【核心提示】新浪微博悄悄改變了API,調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。這對目前的第三方微博客戶(hù)端有什么影響?
編者按:極客公園觀(guān)察者@NovaDNG 發(fā)現新浪微博在本周二(6月18日)悄悄改變了其API,并調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。一方面,極客公園內部討論了這一變化可能帶來(lái)的影響。另一方面,采訪(fǎng)了多位知名第三方微博客戶(hù)端開(kāi)發(fā)者,聽(tīng)取他們的意見(jiàn)。當然,我們也歡迎更多的人加入討論。
原創(chuàng )演示文稿
6月18日新浪微博API變化原文引用如下(點(diǎn)此查看原文):
當前授權的應用只能讀取授權應用的當前用戶(hù)的微博,無(wú)法獲取其他用戶(hù)的微博。具體界面如下:
獲取當前登錄用戶(hù)發(fā)布的微博消息列表(2/statuses/user_timeline)
獲取當前登錄用戶(hù)發(fā)布的微博消息ID列表(2/statuses/user_timeline/ids)
當前授權的應用程序只能讀取當前授權應用程序的用戶(hù)的關(guān)系,不能讀取其他用戶(hù)的關(guān)系。具體界面如下:
獲取用戶(hù)的關(guān)注列表(2/riendships/friends)
獲取普通關(guān)注者列表(2/friendships/friends/in_common)
獲取雙向觀(guān)察名單(2/友誼/朋友/雙邊)
獲取雙向關(guān)注UID列表(2/friendships/friends/bilateral/ids)
獲取用戶(hù)關(guān)注對象的UID列表(2/friendships/friends/ids)
獲取用戶(hù)的粉絲列表(2/friendships/followers)
獲取用戶(hù)的粉絲UID列表(2/friendships/followers/ids)
獲取用戶(hù)優(yōu)質(zhì)粉絲列表(2/好友/關(guān)注/活躍)
初步解釋
在仔細研究了這一變化后,我們內部的討論得出了兩種不同的觀(guān)點(diǎn):
意見(jiàn)1:這些變化生效后,現有的第三方客戶(hù)端將失去:
閱讀用戶(hù)的主要時(shí)間線(xiàn)、評論和轉發(fā)功能(一般第三方客戶(hù)端的三大功能)
查看其他用戶(hù)的微博內容
查看其他用戶(hù)的關(guān)注和粉絲功能
微博搜索、用戶(hù)搜索等相關(guān)功能
總之,生效后,第三方客戶(hù)端基本失效,用戶(hù)只會(huì )看到:
微博
自己的追隨者和粉絲/活躍粉絲
我自己和另一個(gè)用戶(hù)的共同關(guān)心
觀(guān)點(diǎn)2:這只是新浪又一次強迫所有用戶(hù)重新授權他們的第三方客戶(hù)端:
從原文的寫(xiě)法來(lái)看,這些改動(dòng)都是針對“授權客戶(hù)端”的,所以這次改動(dòng)的效果就是取消了授權客戶(hù)端的主要功能。當用戶(hù)重新授權時(shí),可以恢復原來(lái)的功能。設計這個(gè)變化的原因是:
這是一個(gè)強制所有用戶(hù)重新授權第三方客戶(hù)端的過(guò)程
提高數據爬取難度,針對已有的微博爬取數據行為
之后,微博可能會(huì )為商業(yè)用戶(hù)提供專(zhuān)門(mén)的數據分析接口和服務(wù),就像現在的推特一樣
各種意見(jiàn)
安卓平臺第三方微博客戶(hù)端第四維度開(kāi)發(fā)者@進(jìn)擊的心頭反對上述第二種解釋。他認為更新后的API是同一個(gè)地址,也就是說(shuō),原來(lái)的API是什么權限,重新授權后或者是什么權限。舊界面和新界面沒(méi)有區別,未來(lái)將不再允許第三方應用訪(fǎng)問(wèn)其他用戶(hù)的微博列表。更新生效后,第三方應用將無(wú)法掃描微博列表,并出現“當前應用無(wú)權限”等錯誤提示。
隨后我們采訪(fǎng)了安卓平臺另一知名微博客戶(hù)端Fuubo的開(kāi)發(fā)者@RefacTech碎星。他已經(jīng)在微博上表達了對此次API變更的擔憂(yōu)。在他看來(lái),與新浪微博有官方合作關(guān)系的第三方應用,如Weico、Weige、ZAKER(該應用內置微博閱讀功能,也可以視為第三方客戶(hù)端),可能不會(huì )受到太大影響。,但其他一些自主開(kāi)發(fā)的客戶(hù)端也難逃他們的命運。不過(guò),他也指出,即使新浪微博收緊API,第三方應用仍能以微博內容聚合閱讀的形式繼續存在,不會(huì )完全消亡。
昨天下午(6月23日),新浪微博開(kāi)放平臺@微博開(kāi)平臺的驗證賬號給@RefacTech碎星發(fā)消息,稱(chēng)此次升級對第三方微博客戶(hù)端沒(méi)有影響。
我們還聯(lián)系了iOS平臺微博客戶(hù)端Weige的開(kāi)發(fā)者,但截至發(fā)稿,他們并未對此發(fā)表評論。
主要問(wèn)題
綜合整個(gè)討論過(guò)程和討論內容,我們發(fā)現主要分歧點(diǎn)在于原創(chuàng )API更新日志中的“當前已授權應用”,由此提出以下問(wèn)題:
這是針對“已授權應用程序”還是針對所有第三方應用程序(無(wú)論它們是否經(jīng)過(guò)用戶(hù)重新授權)的更改?
如果是第三方應用,會(huì )不會(huì )影響商業(yè)支付接口的第三方客戶(hù)端?
這種變化背后的考慮是什么? 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(極客公園觀(guān)察家@NovaDNG發(fā)現新浪微博API更改內容原文)
【核心提示】新浪微博悄悄改變了API,調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。這對目前的第三方微博客戶(hù)端有什么影響?
編者按:極客公園觀(guān)察者@NovaDNG 發(fā)現新浪微博在本周二(6月18日)悄悄改變了其API,并調整了獲取微博內容和用戶(hù)關(guān)系的界面返回結果。一方面,極客公園內部討論了這一變化可能帶來(lái)的影響。另一方面,采訪(fǎng)了多位知名第三方微博客戶(hù)端開(kāi)發(fā)者,聽(tīng)取他們的意見(jiàn)。當然,我們也歡迎更多的人加入討論。
原創(chuàng )演示文稿
6月18日新浪微博API變化原文引用如下(點(diǎn)此查看原文):
當前授權的應用只能讀取授權應用的當前用戶(hù)的微博,無(wú)法獲取其他用戶(hù)的微博。具體界面如下:
獲取當前登錄用戶(hù)發(fā)布的微博消息列表(2/statuses/user_timeline)
獲取當前登錄用戶(hù)發(fā)布的微博消息ID列表(2/statuses/user_timeline/ids)
當前授權的應用程序只能讀取當前授權應用程序的用戶(hù)的關(guān)系,不能讀取其他用戶(hù)的關(guān)系。具體界面如下:
獲取用戶(hù)的關(guān)注列表(2/riendships/friends)
獲取普通關(guān)注者列表(2/friendships/friends/in_common)
獲取雙向觀(guān)察名單(2/友誼/朋友/雙邊)
獲取雙向關(guān)注UID列表(2/friendships/friends/bilateral/ids)
獲取用戶(hù)關(guān)注對象的UID列表(2/friendships/friends/ids)
獲取用戶(hù)的粉絲列表(2/friendships/followers)
獲取用戶(hù)的粉絲UID列表(2/friendships/followers/ids)
獲取用戶(hù)優(yōu)質(zhì)粉絲列表(2/好友/關(guān)注/活躍)
初步解釋
在仔細研究了這一變化后,我們內部的討論得出了兩種不同的觀(guān)點(diǎn):
意見(jiàn)1:這些變化生效后,現有的第三方客戶(hù)端將失去:
閱讀用戶(hù)的主要時(shí)間線(xiàn)、評論和轉發(fā)功能(一般第三方客戶(hù)端的三大功能)
查看其他用戶(hù)的微博內容
查看其他用戶(hù)的關(guān)注和粉絲功能
微博搜索、用戶(hù)搜索等相關(guān)功能
總之,生效后,第三方客戶(hù)端基本失效,用戶(hù)只會(huì )看到:
微博
自己的追隨者和粉絲/活躍粉絲
我自己和另一個(gè)用戶(hù)的共同關(guān)心
觀(guān)點(diǎn)2:這只是新浪又一次強迫所有用戶(hù)重新授權他們的第三方客戶(hù)端:
從原文的寫(xiě)法來(lái)看,這些改動(dòng)都是針對“授權客戶(hù)端”的,所以這次改動(dòng)的效果就是取消了授權客戶(hù)端的主要功能。當用戶(hù)重新授權時(shí),可以恢復原來(lái)的功能。設計這個(gè)變化的原因是:
這是一個(gè)強制所有用戶(hù)重新授權第三方客戶(hù)端的過(guò)程
提高數據爬取難度,針對已有的微博爬取數據行為
之后,微博可能會(huì )為商業(yè)用戶(hù)提供專(zhuān)門(mén)的數據分析接口和服務(wù),就像現在的推特一樣
各種意見(jiàn)
安卓平臺第三方微博客戶(hù)端第四維度開(kāi)發(fā)者@進(jìn)擊的心頭反對上述第二種解釋。他認為更新后的API是同一個(gè)地址,也就是說(shuō),原來(lái)的API是什么權限,重新授權后或者是什么權限。舊界面和新界面沒(méi)有區別,未來(lái)將不再允許第三方應用訪(fǎng)問(wèn)其他用戶(hù)的微博列表。更新生效后,第三方應用將無(wú)法掃描微博列表,并出現“當前應用無(wú)權限”等錯誤提示。
隨后我們采訪(fǎng)了安卓平臺另一知名微博客戶(hù)端Fuubo的開(kāi)發(fā)者@RefacTech碎星。他已經(jīng)在微博上表達了對此次API變更的擔憂(yōu)。在他看來(lái),與新浪微博有官方合作關(guān)系的第三方應用,如Weico、Weige、ZAKER(該應用內置微博閱讀功能,也可以視為第三方客戶(hù)端),可能不會(huì )受到太大影響。,但其他一些自主開(kāi)發(fā)的客戶(hù)端也難逃他們的命運。不過(guò),他也指出,即使新浪微博收緊API,第三方應用仍能以微博內容聚合閱讀的形式繼續存在,不會(huì )完全消亡。
昨天下午(6月23日),新浪微博開(kāi)放平臺@微博開(kāi)平臺的驗證賬號給@RefacTech碎星發(fā)消息,稱(chēng)此次升級對第三方微博客戶(hù)端沒(méi)有影響。
我們還聯(lián)系了iOS平臺微博客戶(hù)端Weige的開(kāi)發(fā)者,但截至發(fā)稿,他們并未對此發(fā)表評論。
主要問(wèn)題
綜合整個(gè)討論過(guò)程和討論內容,我們發(fā)現主要分歧點(diǎn)在于原創(chuàng )API更新日志中的“當前已授權應用”,由此提出以下問(wèn)題:
這是針對“已授權應用程序”還是針對所有第三方應用程序(無(wú)論它們是否經(jīng)過(guò)用戶(hù)重新授權)的更改?
如果是第三方應用,會(huì )不會(huì )影響商業(yè)支付接口的第三方客戶(hù)端?
這種變化背后的考慮是什么?
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這里有新鮮出爐的精品教程,程序狗速度看過(guò)來(lái)!)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 63 次瀏覽 ? 2022-01-04 08:07
這里是新鮮出品的優(yōu)質(zhì)教程,看程序狗的速度!
新浪微博 新浪微博是新浪網(wǎng)為提供微博服務(wù)而推出的一種推特網(wǎng)站。用戶(hù)可以通過(guò)網(wǎng)頁(yè)、WAP頁(yè)面、手機客戶(hù)端、手機短信、彩信發(fā)布消息或上傳圖片。新浪可以將微博理解為“微博”或“一句話(huà)博客”。
本文講解了新浪微博API開(kāi)發(fā)介紹(PHP基礎)的用戶(hù)授權,有興趣的同學(xué)可以參考。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博整理講解API開(kāi)發(fā)的內容
現在玩微博的人越來(lái)越多,微博上的第三方應用開(kāi)??發(fā)也越來(lái)越多。無(wú)意中開(kāi)始接觸新浪微博API開(kāi)發(fā),新浪微博API開(kāi)發(fā)資源更多時(shí)候,新浪微博為開(kāi)發(fā)者提供了一個(gè)平臺。網(wǎng)站為: 收錄新浪微博開(kāi)發(fā)的綜合信息,包括開(kāi)發(fā)者的使用和介紹、各種語(yǔ)言的API功能介紹文檔、SDK等多種資料。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習的過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博對API開(kāi)發(fā)的內容進(jìn)行整理和講解,
新浪微博API開(kāi)發(fā)前的準備工作
首先到新浪微博開(kāi)放平臺下載基于PHP的SDK開(kāi)發(fā)包,下載地址為:
下載完成后,放到自己的開(kāi)發(fā)環(huán)境中解壓。演示程序也包括在內??梢詤⒖计涫纠绦蜻M(jìn)行編寫(xiě)。
新浪微博API開(kāi)發(fā)最重要的用戶(hù)授權流程
其實(shí)開(kāi)發(fā)過(guò)程中的很多問(wèn)題都集中在用戶(hù)授權階段。我開(kāi)發(fā)的第三方應用使用的是OAuth授權。新浪微博開(kāi)放平臺的OAuth授權流程非常清晰完整。介紹,大家可以去看看,我會(huì )從實(shí)例開(kāi)發(fā)的角度介紹和講解。
1.先獲取未授權的Request Token
$o = new WeiboOAuth(WB_AKEY, WB_SKEY);
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].':'.$keys['oauth_token_secret']);
我們需要在新浪微博開(kāi)放平臺注冊一個(gè)賬號,或者直接用我們的新浪微博賬號登錄,進(jìn)入我的應用,然后按照提示創(chuàng )建我們自己的第三方應用。創(chuàng )建完成后,我們可以得到兩個(gè)授權的App Key和App Secret值,這兩個(gè)值是我們應用開(kāi)發(fā)的關(guān)鍵。
獲得授權值后,我們可以通過(guò)上面的代碼獲取未授權的Request Token值,該值會(huì )保存在$key數組變量中。
2.然后請求用戶(hù)授權令牌
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false,'#39;);
獲取到未授權Request Token值后,我們可以使用上面的代碼準備去新浪微博授權頁(yè)面進(jìn)行授權。 $aurl 是授權鏈接頁(yè)面。拿到$aurl后,我們可以使用header()直接跳轉到授權頁(yè)面,然后用戶(hù)輸入新浪微博賬號和密碼進(jìn)行授權。授權完成后會(huì )自動(dòng)跳轉回你最后一個(gè)參數設置的回調頁(yè)面:這個(gè)鏈接可以設置為上一個(gè)頁(yè)面,授權完成后會(huì )自動(dòng)再跳轉回來(lái)。
需要注意的是,需要設置session key的值。下面獲得的授權訪(fǎng)問(wèn)令牌中需要它。很多朋友可能會(huì )參考開(kāi)放平臺上的說(shuō)明進(jìn)行授權,但是發(fā)現總是報錯。這通常是問(wèn)題所在。您尚未設置會(huì )話(huà)的鍵值。當然,下面無(wú)法獲取Access Token的值。這個(gè)一定要記住。
3.用戶(hù)最后授權的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']);
以上代碼最終獲得了用戶(hù)授權的Access Token。有兩個(gè)值,它們存儲在 $last_key 數組變量中。我們也可以看到最后兩個(gè)參數是我們之前設置的session值。至此,基本完成。這是一個(gè)完整的新浪微博用戶(hù)授權流程。
授權完成后工作
授權完成后,我們就可以開(kāi)始調用新浪微博提供的各種API函數接口進(jìn)行實(shí)際應用開(kāi)發(fā)了。這里我簡(jiǎn)單介紹一下獲取最新微博記錄的界面。其他類(lèi)似。
獲取新浪微博最新信息的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 "發(fā)生錯誤";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code:'.$msg['error_code'].'; Error:'.$msg['error']);
返回假;
}
print_r($msg);
通常我們拿到用戶(hù)授權的access token值后,會(huì )保存在我們的user表中,對應我們應用中的賬號。之后,我們就不用每次都調用每個(gè)新浪微博API接口了。我一直都在考認證。
上面的代碼很簡(jiǎn)單,實(shí)例化WeiboClient對象,然后直接調用接口函數public_timeline獲取返回的信息,如果沒(méi)有報錯。通常新浪微博api接口返回的數據格式一般是Json格式或者xml格式,而我們這里是用php開(kāi)發(fā)的,那么使用Json格式數據有先天優(yōu)勢,如果返回Json格式數據,直接使用php即可。函數json_decode()可以轉換成PHP常用的數組格式。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這里有新鮮出爐的精品教程,程序狗速度看過(guò)來(lái)!)
這里是新鮮出品的優(yōu)質(zhì)教程,看程序狗的速度!
新浪微博 新浪微博是新浪網(wǎng)為提供微博服務(wù)而推出的一種推特網(wǎng)站。用戶(hù)可以通過(guò)網(wǎng)頁(yè)、WAP頁(yè)面、手機客戶(hù)端、手機短信、彩信發(fā)布消息或上傳圖片。新浪可以將微博理解為“微博”或“一句話(huà)博客”。
本文講解了新浪微博API開(kāi)發(fā)介紹(PHP基礎)的用戶(hù)授權,有興趣的同學(xué)可以參考。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博整理講解API開(kāi)發(fā)的內容
現在玩微博的人越來(lái)越多,微博上的第三方應用開(kāi)??發(fā)也越來(lái)越多。無(wú)意中開(kāi)始接觸新浪微博API開(kāi)發(fā),新浪微博API開(kāi)發(fā)資源更多時(shí)候,新浪微博為開(kāi)發(fā)者提供了一個(gè)平臺。網(wǎng)站為: 收錄新浪微博開(kāi)發(fā)的綜合信息,包括開(kāi)發(fā)者的使用和介紹、各種語(yǔ)言的API功能介紹文檔、SDK等多種資料。
在開(kāi)發(fā)和學(xué)習的過(guò)程中,感覺(jué)雖然不是太難,但還是有一些問(wèn)題需要大家注意。今天在開(kāi)發(fā)學(xué)習的過(guò)程中,簡(jiǎn)單的用PHP進(jìn)行了新浪微博對API開(kāi)發(fā)的內容進(jìn)行整理和講解,
新浪微博API開(kāi)發(fā)前的準備工作
首先到新浪微博開(kāi)放平臺下載基于PHP的SDK開(kāi)發(fā)包,下載地址為:
下載完成后,放到自己的開(kāi)發(fā)環(huán)境中解壓。演示程序也包括在內??梢詤⒖计涫纠绦蜻M(jìn)行編寫(xiě)。
新浪微博API開(kāi)發(fā)最重要的用戶(hù)授權流程
其實(shí)開(kāi)發(fā)過(guò)程中的很多問(wèn)題都集中在用戶(hù)授權階段。我開(kāi)發(fā)的第三方應用使用的是OAuth授權。新浪微博開(kāi)放平臺的OAuth授權流程非常清晰完整。介紹,大家可以去看看,我會(huì )從實(shí)例開(kāi)發(fā)的角度介紹和講解。
1.先獲取未授權的Request Token
$o = new WeiboOAuth(WB_AKEY, WB_SKEY);
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].':'.$keys['oauth_token_secret']);
我們需要在新浪微博開(kāi)放平臺注冊一個(gè)賬號,或者直接用我們的新浪微博賬號登錄,進(jìn)入我的應用,然后按照提示創(chuàng )建我們自己的第三方應用。創(chuàng )建完成后,我們可以得到兩個(gè)授權的App Key和App Secret值,這兩個(gè)值是我們應用開(kāi)發(fā)的關(guān)鍵。
獲得授權值后,我們可以通過(guò)上面的代碼獲取未授權的Request Token值,該值會(huì )保存在$key數組變量中。
2.然后請求用戶(hù)授權令牌
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false,'#39;);
獲取到未授權Request Token值后,我們可以使用上面的代碼準備去新浪微博授權頁(yè)面進(jìn)行授權。 $aurl 是授權鏈接頁(yè)面。拿到$aurl后,我們可以使用header()直接跳轉到授權頁(yè)面,然后用戶(hù)輸入新浪微博賬號和密碼進(jìn)行授權。授權完成后會(huì )自動(dòng)跳轉回你最后一個(gè)參數設置的回調頁(yè)面:這個(gè)鏈接可以設置為上一個(gè)頁(yè)面,授權完成后會(huì )自動(dòng)再跳轉回來(lái)。
需要注意的是,需要設置session key的值。下面獲得的授權訪(fǎng)問(wèn)令牌中需要它。很多朋友可能會(huì )參考開(kāi)放平臺上的說(shuō)明進(jìn)行授權,但是發(fā)現總是報錯。這通常是問(wèn)題所在。您尚未設置會(huì )話(huà)的鍵值。當然,下面無(wú)法獲取Access Token的值。這個(gè)一定要記住。
3.用戶(hù)最后授權的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']);
以上代碼最終獲得了用戶(hù)授權的Access Token。有兩個(gè)值,它們存儲在 $last_key 數組變量中。我們也可以看到最后兩個(gè)參數是我們之前設置的session值。至此,基本完成。這是一個(gè)完整的新浪微博用戶(hù)授權流程。
授權完成后工作
授權完成后,我們就可以開(kāi)始調用新浪微博提供的各種API函數接口進(jìn)行實(shí)際應用開(kāi)發(fā)了。這里我簡(jiǎn)單介紹一下獲取最新微博記錄的界面。其他類(lèi)似。
獲取新浪微博最新信息的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 "發(fā)生錯誤";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code:'.$msg['error_code'].'; Error:'.$msg['error']);
返回假;
}
print_r($msg);
通常我們拿到用戶(hù)授權的access token值后,會(huì )保存在我們的user表中,對應我們應用中的賬號。之后,我們就不用每次都調用每個(gè)新浪微博API接口了。我一直都在考認證。
上面的代碼很簡(jiǎn)單,實(shí)例化WeiboClient對象,然后直接調用接口函數public_timeline獲取返回的信息,如果沒(méi)有報錯。通常新浪微博api接口返回的數據格式一般是Json格式或者xml格式,而我們這里是用php開(kāi)發(fā)的,那么使用Json格式數據有先天優(yōu)勢,如果返回Json格式數據,直接使用php即可。函數json_decode()可以轉換成PHP常用的數組格式。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么使用新浪微博JavaSDK創(chuàng )建應用程序,主要用于應用程序密鑰和秘密)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 50 次瀏覽 ? 2022-01-04 08:06
但是,新浪提供的API比較繁瑣,尤其是Java。三個(gè)版本的JavaAPI將你的蛋蛋打到極致:AndroidSDK真是逆天。由于新浪微博把V1改成了V2,就不能用了,所以只能用剩下的兩個(gè)了。但是當你下載一個(gè)非常困難的版本時(shí),你只能得到代碼,而不能得到accesstoken。打開(kāi)源碼,點(diǎn)擊里面的mainactivity,發(fā)現要切雞了:別著(zhù)急,新浪已經(jīng)提供了把代碼改成token的方法,不過(guò)不是在A(yíng)ndroidSDK中,而是在weibo4j中:。
微博wp7平臺SDK使用說(shuō)明:如何使用新浪微博Java SDK
創(chuàng )建應用程序,主要用于應用程序密鑰和秘密密鑰。請參考官方文檔:2、下載新浪微薄的SDK,本文使用java。請先填寫(xiě)3、配置:client_。在配置中。屬性
為什么運行新浪微博微博SDKDemo報錯
誰(shuí)知道呢。 eclipsesdk使用說(shuō)明。
有照片嗎? mt4平臺使用說(shuō)明。
如何使用新浪微博開(kāi)放平臺的JavaSDK?
用雞下蛋,提高聲譽(yù),最終獲利。有錢(qián)了,去逛菜市場(chǎng),然后就成為菜市場(chǎng)的主人了!你明白嗎? .
微博wp7平臺SDK使用說(shuō)明:如何使用騰訊微博開(kāi)放平臺的java SDK
1、進(jìn)入開(kāi)放平臺首頁(yè); mt5平臺使用說(shuō)明。
2、 仔細閱讀官方公開(kāi)的 API 文檔。
聽(tīng)起來(lái)很糟糕,但你只能這樣做。
PS:特別提醒,一定要閱讀官方文檔,不要在網(wǎng)上搜索那些亂七八糟的帖子。他們中的許多人都是騙子。新浪微博開(kāi)放平臺的JavaSDK是否使用了在自動(dòng)關(guān)注的基礎上可以使用的quicksdk插件平臺?
這完全有可能
如何使用新浪微博SDK
1 首先下載新浪微博SDK包
在新浪微博申請開(kāi)發(fā)者賬號,在開(kāi)發(fā)過(guò)程中使用開(kāi)發(fā)者的秘鑰和秘鑰SDK平臺。
我申請中的具體申請方法,過(guò)程很簡(jiǎn)單,不再贅述
打開(kāi)下載的sdk包demo工程,將demo工程中新浪微博SDK下的所有文件復制到自己的工程中
很多朋友都犯了這個(gè)錯誤。根據官方文檔,將整個(gè)src包加載到程序中是一個(gè)奇怪的錯誤
這樣的話(huà),一些原來(lái)的程序會(huì )和文件名沖突,找不到具體的文件,很郁悶
將demo中viewdidload函數的初始化數據復制到自己的程序中并加載。然后在函數中,加載自己的處理,如果想直接分享就調用
-(void): (NS String*) text image: (UIImage*) 圖像,發(fā)送信息,圖像信息可以直接添加到圖像數據中。 . 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(怎么使用新浪微博JavaSDK創(chuàng )建應用程序,主要用于應用程序密鑰和秘密)
但是,新浪提供的API比較繁瑣,尤其是Java。三個(gè)版本的JavaAPI將你的蛋蛋打到極致:AndroidSDK真是逆天。由于新浪微博把V1改成了V2,就不能用了,所以只能用剩下的兩個(gè)了。但是當你下載一個(gè)非常困難的版本時(shí),你只能得到代碼,而不能得到accesstoken。打開(kāi)源碼,點(diǎn)擊里面的mainactivity,發(fā)現要切雞了:別著(zhù)急,新浪已經(jīng)提供了把代碼改成token的方法,不過(guò)不是在A(yíng)ndroidSDK中,而是在weibo4j中:。
微博wp7平臺SDK使用說(shuō)明:如何使用新浪微博Java SDK
創(chuàng )建應用程序,主要用于應用程序密鑰和秘密密鑰。請參考官方文檔:2、下載新浪微薄的SDK,本文使用java。請先填寫(xiě)3、配置:client_。在配置中。屬性
為什么運行新浪微博微博SDKDemo報錯
誰(shuí)知道呢。 eclipsesdk使用說(shuō)明。
有照片嗎? mt4平臺使用說(shuō)明。
如何使用新浪微博開(kāi)放平臺的JavaSDK?
用雞下蛋,提高聲譽(yù),最終獲利。有錢(qián)了,去逛菜市場(chǎng),然后就成為菜市場(chǎng)的主人了!你明白嗎? .
微博wp7平臺SDK使用說(shuō)明:如何使用騰訊微博開(kāi)放平臺的java SDK
1、進(jìn)入開(kāi)放平臺首頁(yè); mt5平臺使用說(shuō)明。
2、 仔細閱讀官方公開(kāi)的 API 文檔。
聽(tīng)起來(lái)很糟糕,但你只能這樣做。
PS:特別提醒,一定要閱讀官方文檔,不要在網(wǎng)上搜索那些亂七八糟的帖子。他們中的許多人都是騙子。新浪微博開(kāi)放平臺的JavaSDK是否使用了在自動(dòng)關(guān)注的基礎上可以使用的quicksdk插件平臺?
這完全有可能
如何使用新浪微博SDK
1 首先下載新浪微博SDK包
在新浪微博申請開(kāi)發(fā)者賬號,在開(kāi)發(fā)過(guò)程中使用開(kāi)發(fā)者的秘鑰和秘鑰SDK平臺。
我申請中的具體申請方法,過(guò)程很簡(jiǎn)單,不再贅述
打開(kāi)下載的sdk包demo工程,將demo工程中新浪微博SDK下的所有文件復制到自己的工程中
很多朋友都犯了這個(gè)錯誤。根據官方文檔,將整個(gè)src包加載到程序中是一個(gè)奇怪的錯誤
這樣的話(huà),一些原來(lái)的程序會(huì )和文件名沖突,找不到具體的文件,很郁悶
將demo中viewdidload函數的初始化數據復制到自己的程序中并加載。然后在函數中,加載自己的處理,如果想直接分享就調用
-(void): (NS String*) text image: (UIImage*) 圖像,發(fā)送信息,圖像信息可以直接添加到圖像數據中。 .
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(OAuth2.0協(xié)議授權流程查看/access_token獲取)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 74 次瀏覽 ? 2022-01-04 00:01
一、OAuth2.0概覽
大多數API訪(fǎng)問(wèn),如發(fā)布微博、獲取私信、關(guān)注等,都需要用戶(hù)身份。目前新浪微博開(kāi)放平臺用戶(hù)身份認證包括OAuth2.0和Basic Auth(僅用于應用開(kāi)發(fā)Debugging接口),新版接口也僅支持這兩種方式。 OAuth2.0比1.0的整個(gè)授權驗證過(guò)程更簡(jiǎn)單、更安全,也是未來(lái)最重要的用戶(hù)認證和授權方式。 OAuth2.0協(xié)議授權流程見(jiàn)OAuth2.0授權流程,其中Client指第三方應用,Resource Owner指用戶(hù),Authorization Server是我們的授權服務(wù)器,Resource Server是API 服務(wù)器。
參考鏈接:以及新浪微博開(kāi)放平臺和新浪微博CodeProject開(kāi)源項目
開(kāi)發(fā)者可以先瀏覽OAuth2.0的接口文檔,熟悉OAuth2接口和參數的含義,然后根據應用場(chǎng)景講解如何使用OAuth2.0 .
OAuth2 接口文檔
接口說(shuō)明
OAuth2/授權
請求用戶(hù)授權令牌
OAuth2/access_token
獲取授權訪(fǎng)問(wèn)令牌
OAuth2/get_token_info
授權信息查詢(xún)界面
OAuth2/revokeoauth2
授權恢復接口
OAuth2/get_oauth2_token
OAuth1.0的Access Token替換為OAuth2.0的Access Token
二、OAuth2.0 新浪授權頁(yè)面
1、 首先需要獲取appKey和appSecret。這種獲取方式可以在新浪微博新手指南中一步步獲取。這里的回調地址使用默認的:網(wǎng)站訪(fǎng)問(wèn)方式。以下是C#示例源代碼(控制臺應用程序):
01.using System;
02.using System.Collections.Generic;
03.using System.Linq;
04.using System.Text;
05.using NetDimension.Weibo;
06.using System.Net;
07.
08.namespace SinaWeiboTestApp
09.{
10. class Program
11. {
12.
13. static void Main(string[] args)
14. {
15.
16. string appkey = "124543453288";
17. string appsecret = "3a456c5332fd2cb1178338fccb9fa51c";
18. //string callBack = "http://127.0.0.1:3170/WebSite2/Default.aspx";
19. string callBack = "https://api.weibo.com/oauth2/default.html";
20. var oauth = new NetDimension.Weibo.OAuth(appkey,appsecret,callBack);
21.
22. ////模擬登錄
23. //string username = "xxxxxxxx@163.com";
24. //string password = "xxxxxxx";
25. //oauth.ClientLogin(username, password); //模擬登錄下,沒(méi)啥好說(shuō)的,你也可以改成標準登錄。
26.
27. //標準登錄
28. var authUrl = oauth.GetAuthorizeURL();
29. //string redirectUrl;
30. //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(authUrl);
31. //request.Referer = authUrl;
32. //request.AllowAutoRedirect = false;
33. //using (WebResponse response = request.GetResponse())
34. //{
35. // redirectUrl = response.Headers["Location"];
36. // redirectUrl = response.ResponseUri.AbsolutePath;
37. //}
38. System.Diagnostics.Process.Start(authUrl);
39. Console.WriteLine("填寫(xiě)瀏覽器地址中的Code參數:");
40. var code = Console.ReadLine();
41. var accessToken = oauth.GetAccessTokenByAuthorizationCode(code);
42. if (!string.IsNullOrEmpty(accessToken.Token))
43. {
44. var sina = new NetDimension.Weibo.Client(oauth);
45. var uid = sina.API.Dynamic.Account.GetUID(); //調用API中獲取UID的方法
46. Console.WriteLine(uid);
47. }
48.
49. var Sina = new Client(oauth);
50. Console.WriteLine("開(kāi)始發(fā)送異步請求...");
51.
52. //例子1:異步獲取用戶(hù)的ID
53. //demo的運行環(huán)境是.net 4.0,下面展示的這種方法在2.0及以上版本環(huán)境下有效,3.0以上可以用lambda表達式來(lái)簡(jiǎn)化delegate的蛋疼寫(xiě)法,請看下面的例子。
54. Sina.AsyncInvoke(
55. //第一個(gè)代理中編寫(xiě)調用API接口的相關(guān)邏輯
56. delegate()
57. {
58. Console.WriteLine("發(fā)送請求來(lái)獲得用戶(hù)ID...");
59. System.Threading.Thread.Sleep(8000); //等待8秒
60. return Sina.API.Entity.Account.GetUID();
61. },
62. //第二個(gè)代理為回調函數,異步完成后將自動(dòng)調用這個(gè)函數來(lái)處理結果。
63. delegate(AsyncCallback callback)
64. {
65. if (callback.IsSuccess)
66. {
67. Console.WriteLine("獲取用戶(hù)ID成功,ID:{0}", callback.Data);
68. }
69. else
70. {
71. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
72. }
73. }
74. );
75.
76. //列子2:獲取公共微博列表
77. //2.0以上用lambda來(lái)寫(xiě),方便不是一點(diǎn)點(diǎn)
78. Sina.AsyncInvoke(() =>
79. {
80. //獲取微博,接口調用,返回值是個(gè)NetDimension.Weibo.Entities.status.Collection,所以泛型T為NetDimension.Weibo.Entities.status.Collection
81. Console.WriteLine("發(fā)送請求來(lái)獲得公共微博列表...");
82. return Sina.API.Entity.Statuses.PublicTimeline();
83. //return Sina.API.Entity.Statuses.RepostTimeline;
84. }, (callback) =>
85. {
86. if (callback.IsSuccess)
87. {
88. //異步完成后處理結果,result就是返回的結果,類(lèi)型就是泛型所指定的NetDimension.Weibo.Entities.status.Collection
89. Console.WriteLine("獲得公共微博列表成功,現在公共頻道發(fā)微博的人都是他們:");
90. foreach (var status in callback.Data.Statuses)
91. {
92. if (status.User != null)
93. Console.WriteLine(status.User.ScreenName + " ");//打印公共微博發(fā)起人的姓名
94. }
95. Console.WriteLine();
96. }
97. else
98. {
99. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
100. }
101.
102. });
103.
104.
105. Console.WriteLine("已發(fā)送所有異步請求。等待異步執行完成...");
106.
107. Console.ReadKey(); //阻塞,等待異步調用執行完成
108.
109. }
110.
111. }
112.}
MVC 中的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Myself.Models;
using Myself.Code;
using BLL;
using Lib;
using SpeexToWavToMp3;
using System.Web.Http.Filters;
using Models;
using Webdiyer.WebControls.Mvc;
using System.IO;
namespace Myself.Controllers
{
public class MySelfController : Controller
{
public ActionResult LoginSina()
{
var oauth = new NetDimension.Weibo.OAuth(appKey,appSecret,Url.Action("LoginSinaResult", "MySelf", null, "http"));
//第一步獲取新浪授權頁(yè)面的地址
var oauthUrl = oauth.GetAuthorizeURL();
return Redirect(oauthUrl);
}
public ActionResult LoginSinaResult(string code)
{
var oauth = new NetDimension.Weibo.OAuth(appKey, appSecret, Url.Action("LoginSinaResult", "MySelf", null, "http"));
var oauthToken = oauth.GetAccessTokenByAuthorizationCode(code);
var model = UserHelper.GetAuthorizeInfo(oauthToken.UID, 1);
if (model != null)
{
if (LoginHelper.UserLogin(model.UserID, 1, oauthToken.UID, Request.UserAgent, Request.UserHostAddress, "1", "web"))
{
return RedirectToAction("Index", "Home");
}
else
{
return Content("登錄失敗");
}
}
return Content("您尚未注冊");
}
}
}
要運行上述程序,需要替換Appkey和Appsecret。
2、授權頁(yè)面
以下是提示微博登錄的界面,登錄后第三方網(wǎng)站授權訪(fǎng)問(wèn)您在新浪微博賬號上的資源
將提供。
3、授權訪(fǎng)問(wèn)頁(yè)面
4、新浪官方網(wǎng)站提供API測試工具來(lái)測試客戶(hù)端構造的參數是否正確
5、Oauth2.0 操作流程圖
第一步:首先直接跳轉到用戶(hù)授權地址,即圖標Request User Url,提示用戶(hù)登錄,授權相關(guān)資源獲取唯一Auth code。這里注意代碼只有10分鐘的有效時(shí)間出于安全考慮,相比OAuth1.0,它節省了一步獲取臨時(shí)token,而且有效期也得到了控制,比1.0簡(jiǎn)單多了,安全多了@1.0 認證;第二步:獲取代碼授權后,這一步是請求訪(fǎng)問(wèn)令牌,使用圖標請求訪(fǎng)問(wèn)url生成數據令牌;第三步:通過(guò)Access Token請求OpenID,openid是用戶(hù)在本平臺的唯一標識,通過(guò)圖標Request info url請求,然后得到OpenID;第四步:通過(guò)第二步獲取的數據Token、第三步獲取的OpenID以及相關(guān)API,請求獲取用戶(hù)授權的資源信息 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(OAuth2.0協(xié)議授權流程查看/access_token獲取)
一、OAuth2.0概覽
大多數API訪(fǎng)問(wèn),如發(fā)布微博、獲取私信、關(guān)注等,都需要用戶(hù)身份。目前新浪微博開(kāi)放平臺用戶(hù)身份認證包括OAuth2.0和Basic Auth(僅用于應用開(kāi)發(fā)Debugging接口),新版接口也僅支持這兩種方式。 OAuth2.0比1.0的整個(gè)授權驗證過(guò)程更簡(jiǎn)單、更安全,也是未來(lái)最重要的用戶(hù)認證和授權方式。 OAuth2.0協(xié)議授權流程見(jiàn)OAuth2.0授權流程,其中Client指第三方應用,Resource Owner指用戶(hù),Authorization Server是我們的授權服務(wù)器,Resource Server是API 服務(wù)器。
參考鏈接:以及新浪微博開(kāi)放平臺和新浪微博CodeProject開(kāi)源項目
開(kāi)發(fā)者可以先瀏覽OAuth2.0的接口文檔,熟悉OAuth2接口和參數的含義,然后根據應用場(chǎng)景講解如何使用OAuth2.0 .
OAuth2 接口文檔
接口說(shuō)明
OAuth2/授權
請求用戶(hù)授權令牌
OAuth2/access_token
獲取授權訪(fǎng)問(wèn)令牌
OAuth2/get_token_info
授權信息查詢(xún)界面
OAuth2/revokeoauth2
授權恢復接口
OAuth2/get_oauth2_token
OAuth1.0的Access Token替換為OAuth2.0的Access Token
二、OAuth2.0 新浪授權頁(yè)面
1、 首先需要獲取appKey和appSecret。這種獲取方式可以在新浪微博新手指南中一步步獲取。這里的回調地址使用默認的:網(wǎng)站訪(fǎng)問(wèn)方式。以下是C#示例源代碼(控制臺應用程序):
01.using System;
02.using System.Collections.Generic;
03.using System.Linq;
04.using System.Text;
05.using NetDimension.Weibo;
06.using System.Net;
07.
08.namespace SinaWeiboTestApp
09.{
10. class Program
11. {
12.
13. static void Main(string[] args)
14. {
15.
16. string appkey = "124543453288";
17. string appsecret = "3a456c5332fd2cb1178338fccb9fa51c";
18. //string callBack = "http://127.0.0.1:3170/WebSite2/Default.aspx";
19. string callBack = "https://api.weibo.com/oauth2/default.html";
20. var oauth = new NetDimension.Weibo.OAuth(appkey,appsecret,callBack);
21.
22. ////模擬登錄
23. //string username = "xxxxxxxx@163.com";
24. //string password = "xxxxxxx";
25. //oauth.ClientLogin(username, password); //模擬登錄下,沒(méi)啥好說(shuō)的,你也可以改成標準登錄。
26.
27. //標準登錄
28. var authUrl = oauth.GetAuthorizeURL();
29. //string redirectUrl;
30. //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(authUrl);
31. //request.Referer = authUrl;
32. //request.AllowAutoRedirect = false;
33. //using (WebResponse response = request.GetResponse())
34. //{
35. // redirectUrl = response.Headers["Location"];
36. // redirectUrl = response.ResponseUri.AbsolutePath;
37. //}
38. System.Diagnostics.Process.Start(authUrl);
39. Console.WriteLine("填寫(xiě)瀏覽器地址中的Code參數:");
40. var code = Console.ReadLine();
41. var accessToken = oauth.GetAccessTokenByAuthorizationCode(code);
42. if (!string.IsNullOrEmpty(accessToken.Token))
43. {
44. var sina = new NetDimension.Weibo.Client(oauth);
45. var uid = sina.API.Dynamic.Account.GetUID(); //調用API中獲取UID的方法
46. Console.WriteLine(uid);
47. }
48.
49. var Sina = new Client(oauth);
50. Console.WriteLine("開(kāi)始發(fā)送異步請求...");
51.
52. //例子1:異步獲取用戶(hù)的ID
53. //demo的運行環(huán)境是.net 4.0,下面展示的這種方法在2.0及以上版本環(huán)境下有效,3.0以上可以用lambda表達式來(lái)簡(jiǎn)化delegate的蛋疼寫(xiě)法,請看下面的例子。
54. Sina.AsyncInvoke(
55. //第一個(gè)代理中編寫(xiě)調用API接口的相關(guān)邏輯
56. delegate()
57. {
58. Console.WriteLine("發(fā)送請求來(lái)獲得用戶(hù)ID...");
59. System.Threading.Thread.Sleep(8000); //等待8秒
60. return Sina.API.Entity.Account.GetUID();
61. },
62. //第二個(gè)代理為回調函數,異步完成后將自動(dòng)調用這個(gè)函數來(lái)處理結果。
63. delegate(AsyncCallback callback)
64. {
65. if (callback.IsSuccess)
66. {
67. Console.WriteLine("獲取用戶(hù)ID成功,ID:{0}", callback.Data);
68. }
69. else
70. {
71. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
72. }
73. }
74. );
75.
76. //列子2:獲取公共微博列表
77. //2.0以上用lambda來(lái)寫(xiě),方便不是一點(diǎn)點(diǎn)
78. Sina.AsyncInvoke(() =>
79. {
80. //獲取微博,接口調用,返回值是個(gè)NetDimension.Weibo.Entities.status.Collection,所以泛型T為NetDimension.Weibo.Entities.status.Collection
81. Console.WriteLine("發(fā)送請求來(lái)獲得公共微博列表...");
82. return Sina.API.Entity.Statuses.PublicTimeline();
83. //return Sina.API.Entity.Statuses.RepostTimeline;
84. }, (callback) =>
85. {
86. if (callback.IsSuccess)
87. {
88. //異步完成后處理結果,result就是返回的結果,類(lèi)型就是泛型所指定的NetDimension.Weibo.Entities.status.Collection
89. Console.WriteLine("獲得公共微博列表成功,現在公共頻道發(fā)微博的人都是他們:");
90. foreach (var status in callback.Data.Statuses)
91. {
92. if (status.User != null)
93. Console.WriteLine(status.User.ScreenName + " ");//打印公共微博發(fā)起人的姓名
94. }
95. Console.WriteLine();
96. }
97. else
98. {
99. Console.WriteLine("獲取用戶(hù)ID失敗,異常:{0}", callback.Error);
100. }
101.
102. });
103.
104.
105. Console.WriteLine("已發(fā)送所有異步請求。等待異步執行完成...");
106.
107. Console.ReadKey(); //阻塞,等待異步調用執行完成
108.
109. }
110.
111. }
112.}
MVC 中的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Myself.Models;
using Myself.Code;
using BLL;
using Lib;
using SpeexToWavToMp3;
using System.Web.Http.Filters;
using Models;
using Webdiyer.WebControls.Mvc;
using System.IO;
namespace Myself.Controllers
{
public class MySelfController : Controller
{
public ActionResult LoginSina()
{
var oauth = new NetDimension.Weibo.OAuth(appKey,appSecret,Url.Action("LoginSinaResult", "MySelf", null, "http"));
//第一步獲取新浪授權頁(yè)面的地址
var oauthUrl = oauth.GetAuthorizeURL();
return Redirect(oauthUrl);
}
public ActionResult LoginSinaResult(string code)
{
var oauth = new NetDimension.Weibo.OAuth(appKey, appSecret, Url.Action("LoginSinaResult", "MySelf", null, "http"));
var oauthToken = oauth.GetAccessTokenByAuthorizationCode(code);
var model = UserHelper.GetAuthorizeInfo(oauthToken.UID, 1);
if (model != null)
{
if (LoginHelper.UserLogin(model.UserID, 1, oauthToken.UID, Request.UserAgent, Request.UserHostAddress, "1", "web"))
{
return RedirectToAction("Index", "Home");
}
else
{
return Content("登錄失敗");
}
}
return Content("您尚未注冊");
}
}
}
要運行上述程序,需要替換Appkey和Appsecret。
2、授權頁(yè)面
以下是提示微博登錄的界面,登錄后第三方網(wǎng)站授權訪(fǎng)問(wèn)您在新浪微博賬號上的資源
將提供。
3、授權訪(fǎng)問(wèn)頁(yè)面
4、新浪官方網(wǎng)站提供API測試工具來(lái)測試客戶(hù)端構造的參數是否正確
5、Oauth2.0 操作流程圖
第一步:首先直接跳轉到用戶(hù)授權地址,即圖標Request User Url,提示用戶(hù)登錄,授權相關(guān)資源獲取唯一Auth code。這里注意代碼只有10分鐘的有效時(shí)間出于安全考慮,相比OAuth1.0,它節省了一步獲取臨時(shí)token,而且有效期也得到了控制,比1.0簡(jiǎn)單多了,安全多了@1.0 認證;第二步:獲取代碼授權后,這一步是請求訪(fǎng)問(wèn)令牌,使用圖標請求訪(fǎng)問(wèn)url生成數據令牌;第三步:通過(guò)Access Token請求OpenID,openid是用戶(hù)在本平臺的唯一標識,通過(guò)圖標Request info url請求,然后得到OpenID;第四步:通過(guò)第二步獲取的數據Token、第三步獲取的OpenID以及相關(guān)API,請求獲取用戶(hù)授權的資源信息
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博的系統分為三個(gè)層次,最下層是基礎服務(wù)層)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 71 次瀏覽 ? 2022-01-03 16:15
系統分為三個(gè)層次。底層是基礎服務(wù)層,提供數據庫、緩存、存儲、搜索等數據服務(wù)等基礎技術(shù)服務(wù)。這些服務(wù)支撐了新浪微博的海量數據和高并發(fā)訪(fǎng)問(wèn),是整個(gè)系統的技術(shù)基礎。
中間層是平臺服務(wù)和應用服務(wù)層。新浪微博的核心服務(wù)是微博、關(guān)系和用戶(hù)。這些服務(wù)被劃分為獨立的服務(wù)模塊,依靠調用和共享基礎數據,構成了新浪微博的業(yè)務(wù)基礎。
頂層是 API 和業(yè)務(wù)層。各種客戶(hù)端和第三方應用調用API并將其集成到新浪微博系統中,形成一個(gè)生態(tài)系統。
新浪微博系統架構
這些層次分明的業(yè)務(wù)模塊和基礎技術(shù)模塊是分布式部署的。每個(gè)模塊部署在一組獨立的服務(wù)器集群上,通過(guò)遠程調用進(jìn)行依賴(lài)訪(fǎng)問(wèn)。新浪微博早期也采用了一種分布式集群部署方案,叫做MPSS(MultiPost Single Server,單服務(wù)器多端口)。在集群中的多臺服務(wù)器上,每臺服務(wù)器都部署了多個(gè)服務(wù),每個(gè)服務(wù)使用不同的服務(wù)。港口為外界提供服務(wù)。這樣,有限數量的服務(wù)器就可以部署更多的服務(wù)實(shí)例,提高服務(wù)的負載均衡和可用性?,F在常見(jiàn)的網(wǎng)站 應用將物理機虛擬化為多個(gè)虛擬機。在虛擬機上部署應用的方法和新浪微博的MPSS方案一樣,但是更簡(jiǎn)單,可以在不同的虛擬機上使用。相同的端口號。
在新浪微博的早期架構中,微博發(fā)布采用的是同步推送模式。用戶(hù)發(fā)布一條微博后,系統會(huì )立即將這條微博插入到數據庫中所有粉絲的訂閱列表中。當用戶(hù)數量比較大時(shí),會(huì )造成大量的數據庫寫(xiě)操作,超過(guò)數據庫負載,系統性能急劇下降,用戶(hù)響應延遲增加。后來(lái)新浪微博改用異步推拉組合模式。用戶(hù)發(fā)布微博后,系統將微博寫(xiě)入消息隊列并立即返回。用戶(hù)反應很快。消息隊列消費者任務(wù)將微博推送到當前所有在線(xiàn)粉絲的訂閱列表。非在線(xiàn)用戶(hù)登錄后根據關(guān)注列表拉取微博訂閱列表。
由于微博頻繁刷新,新浪微博采用了多級緩存策略。熱門(mén)微博和名人用戶(hù)緩存在所有微博服務(wù)器上,在線(xiàn)用戶(hù)的微博和最近的微博緩存在分布式緩存集群中。微博操作中最常見(jiàn)的“刷微博”操作幾乎都是緩存訪(fǎng)問(wèn)操作,可以獲得良好的系統性能。
為了提高系統的整體可用性和性能,新浪微博激活了多個(gè)數據中心。這些數據中心不僅是區域用戶(hù)訪(fǎng)問(wèn)中心,用戶(hù)可以就近訪(fǎng)問(wèn)數據中心,加快訪(fǎng)問(wèn)速度,提升系統性能;它們也是數據冗余復制的災難恢復中心。所有用戶(hù)和微博數據通過(guò)遠程消息系統是不同的。在數據中心之間進(jìn)行同步以提高系統可用性。??
同時(shí),新浪微博還開(kāi)發(fā)了一系列自動(dòng)化工具,包括自動(dòng)化監控、自動(dòng)化發(fā)布、自動(dòng)化故障修復等,這些自動(dòng)化工具還在不斷的開(kāi)發(fā)中,以提升運維水平,增加系統可用性。??
由于微博的開(kāi)放性,新浪微博也遇到了一系列的安全挑戰。垃圾郵件、僵尸粉和微博攻擊從未停止。新浪微博除了使用通用的網(wǎng)站通用安全策略外,在開(kāi)放平臺上使用多級安全審計策略來(lái)保護系統和用戶(hù)。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(新浪微博的系統分為三個(gè)層次,最下層是基礎服務(wù)層)
系統分為三個(gè)層次。底層是基礎服務(wù)層,提供數據庫、緩存、存儲、搜索等數據服務(wù)等基礎技術(shù)服務(wù)。這些服務(wù)支撐了新浪微博的海量數據和高并發(fā)訪(fǎng)問(wèn),是整個(gè)系統的技術(shù)基礎。
中間層是平臺服務(wù)和應用服務(wù)層。新浪微博的核心服務(wù)是微博、關(guān)系和用戶(hù)。這些服務(wù)被劃分為獨立的服務(wù)模塊,依靠調用和共享基礎數據,構成了新浪微博的業(yè)務(wù)基礎。
頂層是 API 和業(yè)務(wù)層。各種客戶(hù)端和第三方應用調用API并將其集成到新浪微博系統中,形成一個(gè)生態(tài)系統。
新浪微博系統架構
這些層次分明的業(yè)務(wù)模塊和基礎技術(shù)模塊是分布式部署的。每個(gè)模塊部署在一組獨立的服務(wù)器集群上,通過(guò)遠程調用進(jìn)行依賴(lài)訪(fǎng)問(wèn)。新浪微博早期也采用了一種分布式集群部署方案,叫做MPSS(MultiPost Single Server,單服務(wù)器多端口)。在集群中的多臺服務(wù)器上,每臺服務(wù)器都部署了多個(gè)服務(wù),每個(gè)服務(wù)使用不同的服務(wù)。港口為外界提供服務(wù)。這樣,有限數量的服務(wù)器就可以部署更多的服務(wù)實(shí)例,提高服務(wù)的負載均衡和可用性?,F在常見(jiàn)的網(wǎng)站 應用將物理機虛擬化為多個(gè)虛擬機。在虛擬機上部署應用的方法和新浪微博的MPSS方案一樣,但是更簡(jiǎn)單,可以在不同的虛擬機上使用。相同的端口號。
在新浪微博的早期架構中,微博發(fā)布采用的是同步推送模式。用戶(hù)發(fā)布一條微博后,系統會(huì )立即將這條微博插入到數據庫中所有粉絲的訂閱列表中。當用戶(hù)數量比較大時(shí),會(huì )造成大量的數據庫寫(xiě)操作,超過(guò)數據庫負載,系統性能急劇下降,用戶(hù)響應延遲增加。后來(lái)新浪微博改用異步推拉組合模式。用戶(hù)發(fā)布微博后,系統將微博寫(xiě)入消息隊列并立即返回。用戶(hù)反應很快。消息隊列消費者任務(wù)將微博推送到當前所有在線(xiàn)粉絲的訂閱列表。非在線(xiàn)用戶(hù)登錄后根據關(guān)注列表拉取微博訂閱列表。
由于微博頻繁刷新,新浪微博采用了多級緩存策略。熱門(mén)微博和名人用戶(hù)緩存在所有微博服務(wù)器上,在線(xiàn)用戶(hù)的微博和最近的微博緩存在分布式緩存集群中。微博操作中最常見(jiàn)的“刷微博”操作幾乎都是緩存訪(fǎng)問(wèn)操作,可以獲得良好的系統性能。
為了提高系統的整體可用性和性能,新浪微博激活了多個(gè)數據中心。這些數據中心不僅是區域用戶(hù)訪(fǎng)問(wèn)中心,用戶(hù)可以就近訪(fǎng)問(wèn)數據中心,加快訪(fǎng)問(wèn)速度,提升系統性能;它們也是數據冗余復制的災難恢復中心。所有用戶(hù)和微博數據通過(guò)遠程消息系統是不同的。在數據中心之間進(jìn)行同步以提高系統可用性。??
同時(shí),新浪微博還開(kāi)發(fā)了一系列自動(dòng)化工具,包括自動(dòng)化監控、自動(dòng)化發(fā)布、自動(dòng)化故障修復等,這些自動(dòng)化工具還在不斷的開(kāi)發(fā)中,以提升運維水平,增加系統可用性。??
由于微博的開(kāi)放性,新浪微博也遇到了一系列的安全挑戰。垃圾郵件、僵尸粉和微博攻擊從未停止。新浪微博除了使用通用的網(wǎng)站通用安全策略外,在開(kāi)放平臺上使用多級安全審計策略來(lái)保護系統和用戶(hù)。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博同步內容至自己網(wǎng)站)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 53 次瀏覽 ? 2022-01-03 02:04
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站,可以獲取到該用戶(hù)的所有相關(guān)微博,并給予相應的推薦和訪(fǎng)問(wèn)權限,可以滿(mǎn)足開(kāi)發(fā)者的個(gè)性化需求。
回答這個(gè)問(wèn)題之前,你必須要先知道,騰訊做微博是需要認證的,不然是無(wú)法被騰訊推送的,只能發(fā)給朋友看,朋友必須通過(guò)認證,以后才能推送給自己的朋友看。新浪,其實(shí)并不需要認證,只要有加v認證,就能被新浪推送給所有的用戶(hù)。
關(guān)注關(guān)鍵詞就能推送相關(guān)微博:weibochannel在weibo里面看twitter,發(fā)現更多
不需要騰訊認證,
使用騰訊賬號登錄,然后申請開(kāi)通并認證,或者使用新浪微博開(kāi)放平臺認證都可以。不過(guò)現在微博的開(kāi)放平臺認證都要付費的,大概要99元。
有個(gè)客戶(hù)端叫微博,登錄直接分享給你的店鋪你的微博都能被同步出來(lái),親測。
騰訊認證的微博帳號才可以推送微博內容給任何微博客戶(hù)端,那就需要你去認證新浪微博帳號嘍,如果沒(méi)有認證,只能發(fā)原微博,不可以推送。
要認證
最簡(jiǎn)單就是認證咯,認證花錢(qián),新浪的認證是365元,認證多了就是2000多元,別的還有個(gè)什么認證我忘記了,如果不需要認證的話(huà),用微博提供的推送接口也可以推送一個(gè)無(wú)關(guān)聯(lián)的自己微博到微博客戶(hù)端,但是只支持基于手機的這種, 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用新浪微博開(kāi)放平臺api同步微博同步內容至自己網(wǎng)站)
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站,可以獲取到該用戶(hù)的所有相關(guān)微博,并給予相應的推薦和訪(fǎng)問(wèn)權限,可以滿(mǎn)足開(kāi)發(fā)者的個(gè)性化需求。
回答這個(gè)問(wèn)題之前,你必須要先知道,騰訊做微博是需要認證的,不然是無(wú)法被騰訊推送的,只能發(fā)給朋友看,朋友必須通過(guò)認證,以后才能推送給自己的朋友看。新浪,其實(shí)并不需要認證,只要有加v認證,就能被新浪推送給所有的用戶(hù)。
關(guān)注關(guān)鍵詞就能推送相關(guān)微博:weibochannel在weibo里面看twitter,發(fā)現更多
不需要騰訊認證,
使用騰訊賬號登錄,然后申請開(kāi)通并認證,或者使用新浪微博開(kāi)放平臺認證都可以。不過(guò)現在微博的開(kāi)放平臺認證都要付費的,大概要99元。
有個(gè)客戶(hù)端叫微博,登錄直接分享給你的店鋪你的微博都能被同步出來(lái),親測。
騰訊認證的微博帳號才可以推送微博內容給任何微博客戶(hù)端,那就需要你去認證新浪微博帳號嘍,如果沒(méi)有認證,只能發(fā)原微博,不可以推送。
要認證
最簡(jiǎn)單就是認證咯,認證花錢(qián),新浪的認證是365元,認證多了就是2000多元,別的還有個(gè)什么認證我忘記了,如果不需要認證的話(huà),用微博提供的推送接口也可以推送一個(gè)無(wú)關(guān)聯(lián)的自己微博到微博客戶(hù)端,但是只支持基于手機的這種,
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用API提交數據(發(fā)布一條微博信息)(組圖))
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 66 次瀏覽 ? 2022-01-02 22:13
我也是新手,第一次使用開(kāi)放平臺進(jìn)行開(kāi)發(fā)。一開(kāi)始,我覺(jué)得無(wú)處可去。經(jīng)過(guò)長(cháng)時(shí)間的摸索,終于成功調用了API?,F在把這個(gè)經(jīng)驗介紹給新手(高手不需要看,當然,如果你能提出一些意見(jiàn)和建議,我感激不盡),我想和你交流。
這個(gè)例子描述了如何使用API??提交數據(發(fā)布微博)和使用API??獲取數據(獲取最新更新的20條公開(kāi)微博消息),即“獲取下游數據集(時(shí)間線(xiàn))”官方API)“statuses/public_timeline下的“獲取最新更新的公眾微博消息接口”和“statuses/update發(fā)布微博信息”下的“微博訪(fǎng)問(wèn)接口”。
首先,您必須有新浪微博賬號,并申請一個(gè)應用秘鑰(詳見(jiàn)%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%9< @7),然后在VS中新建一個(gè)解決方案,在解決方案中添加一個(gè)類(lèi)庫和一個(gè)網(wǎng)站,并添加一個(gè)引用(網(wǎng)站引用類(lèi)庫)。
因為發(fā)布微博是POST請求,獲取數據是GET請求,并且是通過(guò)HTTP基本認證(Basic Authentication)授權,所以我把這些函數寫(xiě)在一個(gè)類(lèi)中(在類(lèi)庫中),代碼如下如下(這個(gè)類(lèi)僅供參考,沒(méi)有仔細考慮是否通用):
發(fā)送請求和授權碼
然后在類(lèi)庫中創(chuàng )建兩個(gè)實(shí)體類(lèi)status和user,字段與官方API相同:
狀態(tài)實(shí)體類(lèi)
用戶(hù)實(shí)體類(lèi)
好的,經(jīng)過(guò)以上步驟,準備工作就完成了?,F在我們可以調用 API。我們來(lái)看看發(fā)布一條微博消息。雖然在這個(gè)文章()中有介紹,但是為了本文的完整性,我只是粘貼了我的代碼,并在類(lèi)庫中添加了一個(gè)MiniBlogVisit類(lèi):
微博訪(fǎng)問(wèn)班
您可以通過(guò)調用更新方法發(fā)布微博。但需要注意的是,這里的Content必須使用HttpUtility.UrlEncode進(jìn)行編碼,否則會(huì )出現亂碼。
最新更新看20條公眾微博消息,這是官方API中的第一個(gè)接口。這是 XML 數據或 JSON 數據。您可以根據自己的喜好自由選擇。我選擇返回 XML。數據。我的方法是將返回的XML數據寫(xiě)入XML文件,然后解析XML文件,代碼如下:
獲取數據代碼
好的,現在它被調用了。調用比較簡(jiǎn)單,是一個(gè)空的Default.aspx頁(yè)面,后臺代碼如下:
調用代碼
至此,所有代碼都寫(xiě)完了,來(lái)看看完整的解決方案:
運行后效果如下:
第一次調用API,第一次寫(xiě)這么長(cháng)的文章。歡迎大家! ! ! 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(使用API提交數據(發(fā)布一條微博信息)(組圖))
我也是新手,第一次使用開(kāi)放平臺進(jìn)行開(kāi)發(fā)。一開(kāi)始,我覺(jué)得無(wú)處可去。經(jīng)過(guò)長(cháng)時(shí)間的摸索,終于成功調用了API?,F在把這個(gè)經(jīng)驗介紹給新手(高手不需要看,當然,如果你能提出一些意見(jiàn)和建議,我感激不盡),我想和你交流。
這個(gè)例子描述了如何使用API??提交數據(發(fā)布微博)和使用API??獲取數據(獲取最新更新的20條公開(kāi)微博消息),即“獲取下游數據集(時(shí)間線(xiàn))”官方API)“statuses/public_timeline下的“獲取最新更新的公眾微博消息接口”和“statuses/update發(fā)布微博信息”下的“微博訪(fǎng)問(wèn)接口”。
首先,您必須有新浪微博賬號,并申請一個(gè)應用秘鑰(詳見(jiàn)%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%9< @7),然后在VS中新建一個(gè)解決方案,在解決方案中添加一個(gè)類(lèi)庫和一個(gè)網(wǎng)站,并添加一個(gè)引用(網(wǎng)站引用類(lèi)庫)。

因為發(fā)布微博是POST請求,獲取數據是GET請求,并且是通過(guò)HTTP基本認證(Basic Authentication)授權,所以我把這些函數寫(xiě)在一個(gè)類(lèi)中(在類(lèi)庫中),代碼如下如下(這個(gè)類(lèi)僅供參考,沒(méi)有仔細考慮是否通用):

發(fā)送請求和授權碼
然后在類(lèi)庫中創(chuàng )建兩個(gè)實(shí)體類(lèi)status和user,字段與官方API相同:

狀態(tài)實(shí)體類(lèi)

用戶(hù)實(shí)體類(lèi)
好的,經(jīng)過(guò)以上步驟,準備工作就完成了?,F在我們可以調用 API。我們來(lái)看看發(fā)布一條微博消息。雖然在這個(gè)文章()中有介紹,但是為了本文的完整性,我只是粘貼了我的代碼,并在類(lèi)庫中添加了一個(gè)MiniBlogVisit類(lèi):

微博訪(fǎng)問(wèn)班
您可以通過(guò)調用更新方法發(fā)布微博。但需要注意的是,這里的Content必須使用HttpUtility.UrlEncode進(jìn)行編碼,否則會(huì )出現亂碼。
最新更新看20條公眾微博消息,這是官方API中的第一個(gè)接口。這是 XML 數據或 JSON 數據。您可以根據自己的喜好自由選擇。我選擇返回 XML。數據。我的方法是將返回的XML數據寫(xiě)入XML文件,然后解析XML文件,代碼如下:

獲取數據代碼
好的,現在它被調用了。調用比較簡(jiǎn)單,是一個(gè)空的Default.aspx頁(yè)面,后臺代碼如下:

調用代碼
至此,所有代碼都寫(xiě)完了,來(lái)看看完整的解決方案:

運行后效果如下:

第一次調用API,第一次寫(xiě)這么長(cháng)的文章。歡迎大家! ! !
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件(SoftwareDevelopmentKit)為第三方微博應用)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 58 次瀏覽 ? 2022-01-02 22:13
Android 是基于 Linux 內核的操作系統。以其獨特的開(kāi)放性,廣泛應用于智能手機等智能終端,并迅速發(fā)展成為市場(chǎng)占有率最大的手機操作系統。電子商務(wù)近年來(lái)發(fā)展迅速,通過(guò)互聯(lián)網(wǎng)進(jìn)行交易已成為一種趨勢。作為智能移動(dòng)終端與電子商務(wù)的結合,移動(dòng)電子商務(wù)具有巨大的發(fā)展潛力。微博是微博的簡(jiǎn)稱(chēng),是一個(gè)基于用戶(hù)關(guān)系的信息共享、傳播和獲取平臺。用戶(hù)以文本形式更新信息,實(shí)現即時(shí)分享。微博的開(kāi)放性和即時(shí)性使其成為發(fā)展最快的互聯(lián)網(wǎng)業(yè)務(wù)。因此,依靠微博平臺推動(dòng)移動(dòng)電子商務(wù)的發(fā)展具有很大的市場(chǎng)價(jià)值,但目前市場(chǎng)上還沒(méi)有基于微博平臺的移動(dòng)電子商務(wù)軟件。在此背景下,基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件應運而生。由于新浪微博是中國用戶(hù)最多的微博平臺,本系統以新浪微博為開(kāi)發(fā)平臺。新浪微博Android平臺SDK(SoftwareDevelopmentKit)為第三方微博應用提供簡(jiǎn)單易用的微博API調用服務(wù),讓第三方客戶(hù)端無(wú)需了解復雜的驗證、API(應用程序接口)調用流程。并且可以實(shí)現分享到微博的功能,可以將文字或多媒體信息分享到內置的分享頁(yè)面,并發(fā)送到微博。
這個(gè)SDK封裝了對HTTP請求和Json信息的分析。我們只需要實(shí)現頁(yè)面相關(guān)功能的開(kāi)發(fā),大大減輕了程序員的開(kāi)發(fā)壓力。本文所討論的系統開(kāi)發(fā)的核心內容是基于A(yíng)ndroid平臺,結合新浪微博API實(shí)現基于微博的移動(dòng)電子商務(wù)系統的Android客戶(hù)端軟件。本文介紹了移動(dòng)電子商務(wù)、Android開(kāi)發(fā)平臺和微博開(kāi)發(fā)平臺相關(guān)技術(shù),分析了電子商務(wù)、Android手機平臺和微博系統目前國內外的應用,并設計了一個(gè)基于新浪的Android移動(dòng)電子商務(wù)系統。微博客戶(hù)端軟件實(shí)現登錄注冊模塊、業(yè)務(wù)信息模塊、微博編輯模塊、采集夾模塊、個(gè)人信息模塊、二維碼模塊、天氣查詢(xún)模塊。最后,該系統使用戶(hù)不必再花時(shí)間在線(xiàn)搜索產(chǎn)品。只要你有一部安卓手機,用戶(hù)就可以隨時(shí)隨地瀏覽商家促銷(xiāo)信息。它不僅解放了時(shí)間和空間的限制,而且讓用戶(hù)更有效地利用時(shí)間。他們可以利用在公交車(chē)上、地鐵上的時(shí)間,以及許多其他的等待時(shí)間來(lái)獲取商業(yè)信息。完成了基于微博的電子商務(wù)系統Android客戶(hù)端軟件的基本功能開(kāi)發(fā)?,F在軟件可以正常運行了。大大節省了人們挑選商品的時(shí)間,加快了商品流通,方便賣(mài)家推廣商品,買(mǎi)家獲得更多優(yōu)惠折扣,及時(shí)與微博好友分享商家推廣信息。 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件(SoftwareDevelopmentKit)為第三方微博應用)
Android 是基于 Linux 內核的操作系統。以其獨特的開(kāi)放性,廣泛應用于智能手機等智能終端,并迅速發(fā)展成為市場(chǎng)占有率最大的手機操作系統。電子商務(wù)近年來(lái)發(fā)展迅速,通過(guò)互聯(lián)網(wǎng)進(jìn)行交易已成為一種趨勢。作為智能移動(dòng)終端與電子商務(wù)的結合,移動(dòng)電子商務(wù)具有巨大的發(fā)展潛力。微博是微博的簡(jiǎn)稱(chēng),是一個(gè)基于用戶(hù)關(guān)系的信息共享、傳播和獲取平臺。用戶(hù)以文本形式更新信息,實(shí)現即時(shí)分享。微博的開(kāi)放性和即時(shí)性使其成為發(fā)展最快的互聯(lián)網(wǎng)業(yè)務(wù)。因此,依靠微博平臺推動(dòng)移動(dòng)電子商務(wù)的發(fā)展具有很大的市場(chǎng)價(jià)值,但目前市場(chǎng)上還沒(méi)有基于微博平臺的移動(dòng)電子商務(wù)軟件。在此背景下,基于微博的移動(dòng)電子商務(wù)系統Android客戶(hù)端軟件應運而生。由于新浪微博是中國用戶(hù)最多的微博平臺,本系統以新浪微博為開(kāi)發(fā)平臺。新浪微博Android平臺SDK(SoftwareDevelopmentKit)為第三方微博應用提供簡(jiǎn)單易用的微博API調用服務(wù),讓第三方客戶(hù)端無(wú)需了解復雜的驗證、API(應用程序接口)調用流程。并且可以實(shí)現分享到微博的功能,可以將文字或多媒體信息分享到內置的分享頁(yè)面,并發(fā)送到微博。
這個(gè)SDK封裝了對HTTP請求和Json信息的分析。我們只需要實(shí)現頁(yè)面相關(guān)功能的開(kāi)發(fā),大大減輕了程序員的開(kāi)發(fā)壓力。本文所討論的系統開(kāi)發(fā)的核心內容是基于A(yíng)ndroid平臺,結合新浪微博API實(shí)現基于微博的移動(dòng)電子商務(wù)系統的Android客戶(hù)端軟件。本文介紹了移動(dòng)電子商務(wù)、Android開(kāi)發(fā)平臺和微博開(kāi)發(fā)平臺相關(guān)技術(shù),分析了電子商務(wù)、Android手機平臺和微博系統目前國內外的應用,并設計了一個(gè)基于新浪的Android移動(dòng)電子商務(wù)系統。微博客戶(hù)端軟件實(shí)現登錄注冊模塊、業(yè)務(wù)信息模塊、微博編輯模塊、采集夾模塊、個(gè)人信息模塊、二維碼模塊、天氣查詢(xún)模塊。最后,該系統使用戶(hù)不必再花時(shí)間在線(xiàn)搜索產(chǎn)品。只要你有一部安卓手機,用戶(hù)就可以隨時(shí)隨地瀏覽商家促銷(xiāo)信息。它不僅解放了時(shí)間和空間的限制,而且讓用戶(hù)更有效地利用時(shí)間。他們可以利用在公交車(chē)上、地鐵上的時(shí)間,以及許多其他的等待時(shí)間來(lái)獲取商業(yè)信息。完成了基于微博的電子商務(wù)系統Android客戶(hù)端軟件的基本功能開(kāi)發(fā)?,F在軟件可以正常運行了。大大節省了人們挑選商品的時(shí)間,加快了商品流通,方便賣(mài)家推廣商品,買(mǎi)家獲得更多優(yōu)惠折扣,及時(shí)與微博好友分享商家推廣信息。
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這是移動(dòng)端微博信息_selenium_sina__)
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 55 次瀏覽 ? 2022-01-02 12:05
這是一個(gè)新浪微博爬蟲(chóng),使用python+selenium實(shí)現。免費資源,希望對你有幫助,雖然是傻瓜式爬蟲(chóng),但至少能跑。同時(shí)在rar中收錄了源代碼和爬取示例。參考我的文章:【python爬蟲(chóng)】Selenium爬取新浪微博內容和用戶(hù)信息【python爬蟲(chóng)】Selenium爬取新浪微博客戶(hù)端用戶(hù)信息、熱點(diǎn)話(huà)題和評論(上) 主要爬取內容包括:新浪微博手機用戶(hù)信息和微博信息。用戶(hù)信息:包括用戶(hù)ID、用戶(hù)名、微博數、粉絲數、關(guān)注數等。 微博信息:包括轉發(fā)或原創(chuàng )、點(diǎn)贊、轉發(fā)、評論、發(fā)布時(shí)間、微博內容等。安裝過(guò)程:1.先安裝Python環(huán)境,作者是Python2.7.82.然后安裝PIP或者easy_install3.通過(guò)安裝selenium命令pip install selenium,是一個(gè)自動(dòng)測試爬取的工具4.然后在代碼中修改用戶(hù)名和密碼,填寫(xiě)自己的用戶(hù)名和密碼5.運行程序,并自動(dòng)調用火狐瀏覽器登錄微博。注:手機信息更精致簡(jiǎn)潔,動(dòng)態(tài)加載沒(méi)有限制,只是顯示微博或粉絲id等20個(gè)頁(yè)面,這是它的缺點(diǎn);雖然客戶(hù)端可能有動(dòng)態(tài)加載,比如評論和微博,但它的信息更完整。 [源碼] 爬取手機微博信息spider_selenium_sina_content.py 輸入:明星用戶(hù)id列表,使用URL+用戶(hù)id訪(fǎng)問(wèn)(這些id可以從用戶(hù)的關(guān)注列表中獲?。?SinaWeibo_List_best_1.txt 輸出:微博信息和基本信息用戶(hù)信息 SinaWeibo_Info_best_1.txtMegry_Result_Best.py 用戶(hù)使用該文件整理某一天的用戶(hù)微博信息,例如2016年4月23日【源代碼】爬取客戶(hù)端微博信息抓取客戶(hù)端信息,但是評論是動(dòng)態(tài)的已加載,還在研究中 weibo_spider2.pyBy:Eastmount 2016-04-24 查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(這是移動(dòng)端微博信息_selenium_sina__)
這是一個(gè)新浪微博爬蟲(chóng),使用python+selenium實(shí)現。免費資源,希望對你有幫助,雖然是傻瓜式爬蟲(chóng),但至少能跑。同時(shí)在rar中收錄了源代碼和爬取示例。參考我的文章:【python爬蟲(chóng)】Selenium爬取新浪微博內容和用戶(hù)信息【python爬蟲(chóng)】Selenium爬取新浪微博客戶(hù)端用戶(hù)信息、熱點(diǎn)話(huà)題和評論(上) 主要爬取內容包括:新浪微博手機用戶(hù)信息和微博信息。用戶(hù)信息:包括用戶(hù)ID、用戶(hù)名、微博數、粉絲數、關(guān)注數等。 微博信息:包括轉發(fā)或原創(chuàng )、點(diǎn)贊、轉發(fā)、評論、發(fā)布時(shí)間、微博內容等。安裝過(guò)程:1.先安裝Python環(huán)境,作者是Python2.7.82.然后安裝PIP或者easy_install3.通過(guò)安裝selenium命令pip install selenium,是一個(gè)自動(dòng)測試爬取的工具4.然后在代碼中修改用戶(hù)名和密碼,填寫(xiě)自己的用戶(hù)名和密碼5.運行程序,并自動(dòng)調用火狐瀏覽器登錄微博。注:手機信息更精致簡(jiǎn)潔,動(dòng)態(tài)加載沒(méi)有限制,只是顯示微博或粉絲id等20個(gè)頁(yè)面,這是它的缺點(diǎn);雖然客戶(hù)端可能有動(dòng)態(tài)加載,比如評論和微博,但它的信息更完整。 [源碼] 爬取手機微博信息spider_selenium_sina_content.py 輸入:明星用戶(hù)id列表,使用URL+用戶(hù)id訪(fǎng)問(wèn)(這些id可以從用戶(hù)的關(guān)注列表中獲?。?SinaWeibo_List_best_1.txt 輸出:微博信息和基本信息用戶(hù)信息 SinaWeibo_Info_best_1.txtMegry_Result_Best.py 用戶(hù)使用該文件整理某一天的用戶(hù)微博信息,例如2016年4月23日【源代碼】爬取客戶(hù)端微博信息抓取客戶(hù)端信息,但是評論是動(dòng)態(tài)的已加載,還在研究中 weibo_spider2.pyBy:Eastmount 2016-04-24
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(1.:OAUth認證方式比于BaseOAuthOAuth的認證資料比較少 )
網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 52 次瀏覽 ? 2022-01-01 20:20
)
由于 Twitter 近期只支持 OAuth 認證方式,各大應用紛紛轉向 OAuth 認證方式,新浪微博開(kāi)放平臺也將在近期停止 Base OAuth 認證方式。
為了繼續使用新浪微博的開(kāi)放平臺,我開(kāi)始研究OAuth認證方式。經(jīng)過(guò)一段時(shí)間的實(shí)踐,對新浪微博開(kāi)放平臺的OAuth認證方式有了一定的體會(huì )。鑒于網(wǎng)上關(guān)于這個(gè)平臺的OAuth相關(guān)資料比較少,在此分享一下過(guò)程中積累的經(jīng)驗。希望對一些想使用OAuth認證的人調用新浪微博界面有所幫助~~
1.關(guān)于 OAuth:
OAUth認證方式相比Base OAuth認證方式最大的特點(diǎn)是應用端不需要保存用戶(hù)的賬號和密碼,只需要用戶(hù)授權的Key和Secret組合即可平臺上的接口資源進(jìn)行訪(fǎng)問(wèn),在傳輸過(guò)程中,也可以通過(guò)截包分析,防止惡意人員獲取用戶(hù)的賬號和密碼。 (有一種說(shuō)法,推特之所以完全切換到OAuth認證,是為了防止GFW通過(guò)截包的方式獲取一些相關(guān)名人的賬號和密碼)。具體定義可以閱讀OAuth規范定義:OAuth規范。
2.新浪微博開(kāi)放平臺:
新浪微博開(kāi)放平臺的基本界面、參數、返回格式參考推特模型。當然,國內其他一些開(kāi)放平臺也大量借鑒了推特的模式,所以基本一致。要使用新浪微博的開(kāi)放平臺,當然首先要到其網(wǎng)站注冊:新浪微博API。
注冊后會(huì )得到Consumer Key和Consumer Secret兩個(gè)關(guān)鍵字段。保存它們。
新浪微博的開(kāi)發(fā)平臺有足夠的文檔,可以快速調用這些接口。除了一些困難的接口,我們將在下面討論。
3.在新浪使用 OAuth:
要使用 OAuth,用戶(hù)必須先獲得授權。一般來(lái)說(shuō),授權流程如下:
(1)應用向新浪開(kāi)發(fā)平臺發(fā)送請求,獲取未授權的Request Token和Request Secret。此時(shí)Request Secret暫時(shí)不用,請妥善保管。
(2)以上一步獲取的Request Token為參數,引導用戶(hù)瀏覽器跳轉到新浪微博授權頁(yè)面,用戶(hù)進(jìn)入該頁(yè)面登錄新浪微博進(jìn)行授權Token。如果在() 作為參數,傳遞給新浪微博服務(wù)器,服務(wù)器會(huì )返回真實(shí)的Access Token和Access Secret,新浪微博也會(huì )返回用戶(hù)在新浪微博的userid,有了用戶(hù)的Access Token和Access Secret,你可以自由方便地調用新浪微博的開(kāi)放界面。
每次調用都必須收錄 OAuth 身份驗證信息。作為OAuth認證信息,添加到請求包中基本上有兩種方式:
(1)最推薦的方法是使用HTTP Authorization Header。這個(gè)header的定義在RFC2617中定義。
例如:
Authorization: OAuth realm="http://photos.example.net/",
oauth_consumer_key="dpf43f3p2l4k3l03",
oauth_token="nnch734d00sl2jdk",
oauth_signature_method="HMAC-SHA1",
oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D",
oauth_timestamp="1191242096", oauth_nonce="kllo9940pd9333jh",
oauth_version="1.0"
?。?)或者可以采用,參數傳遞的方式,將OAuth的參數與正常的參數一樣放置與Get的URL中,或者POST的包體內容中,都是可以的,
但遇到一些特殊情況就較難解決這個(gè)問(wèn)題了。
4.OAuth認證參數解析:
在上面可以看到,一個(gè)正常的OAuth認證中,包含以下若干參數:<br />
?。?)oauth_consumer_key: 即是注冊時(shí),新浪給你的conusmer key,明文傳輸<br />
?。?)oauth_token: 即是用戶(hù)完成OAuth認證后的Access Token,在進(jìn)行OAuth認證第三步的時(shí)候,為Request Token,
?第一步時(shí)不需要這個(gè)參數
?。?)oauth_signature_method:加密的方法,提供HMAC-SHA1,?RSA-SHA1, PLAINTEXT 幾種方法<br />
?。?)oauth_signature: 對于全部參數進(jìn)行加密后的字符串,包括consumer secret和access secret<br />
?。?)oauth_timestamp:發(fā)請求的時(shí)間戳<br />
?。?)oauth_version:可選的參數,基本上置為1.0,否則會(huì )出錯的。<br />
?。?)oauth_nonce:隨機的值,防止重復調用<br />
5.上傳圖片OAuth之痛:
使用上面的方法,基本上可以解決所有的接口調用。但遇到難搞的上傳圖片這樣的請求時(shí),就需要一些方法取巧了。<br />
新浪微博的開(kāi)放平臺,要求上傳圖片時(shí)必須使用multipart/form-data的方式進(jìn)行上傳,但OAuth協(xié)議在定義時(shí),描述Content-Type為
application/x-www-form-urlencoded, 而并沒(méi)有提及如何在multipart/form-data使用。<br />
在網(wǎng)上基本上找不到任何一個(gè)地方有提及在新浪微博的開(kāi)放平臺上以OAuth的方式上傳圖片,經(jīng)過(guò)一個(gè)晚上的嘗試與借鑒Twitter上的做法后,
終于發(fā)現了解決方法。
基本上,在協(xié)議上沒(méi)有說(shuō)明的內容,就必須由民間采用較為直觀(guān)的方式進(jìn)行解決。要在新浪微博的接口中進(jìn)行圖片上傳,必須使用multipart/
form-data作為Content-Type,而OAuth的認證參數不能放入form-data的參數中,必須使用Authorization Header來(lái)認證,而這時(shí),必須將除了文
件(file)的參數,就是將status這個(gè)參數加入到oauth的BaseString中進(jìn)行加密,再將status作為fom-data的一個(gè)value中,這樣就能夠
正常的上傳圖片并發(fā)表微博了。通過(guò)這個(gè)簡(jiǎn)單而麻煩的方法,終于能夠安全地上傳圖片到新浪微博。
6.最后
至此,本人已成功調用新浪微博絕大多數的接口,并開(kāi)始將應用覆蓋搜狐微博,網(wǎng)易微博等開(kāi)放平臺,希望可以通過(guò)這篇文章,記錄下一些經(jīng)
驗與教訓。<br />
<br />
7.參考資料
[RFC5849]E。哈默拉哈夫,埃德。 “OAuth 1.0 協(xié)議”,RFC5849
[RFC1867] E. Nebel,L. Masinter,“HTML 中基于表單的文件上傳”,RFC1867
[RFC2616] Fielding,R.,Gettys,J,e "超文本傳輸??協(xié)議 - HTTP/1.1", RFC2616
[RFC2617] Franks,J.“HTTP 身份驗證:基本和摘要式訪(fǎng)問(wèn)身份驗證”,RFC2617
新浪微博開(kāi)放平臺:
查看全部
使用新浪微博開(kāi)放平臺api同步微博內容至自己網(wǎng)站(1.:OAUth認證方式比于BaseOAuthOAuth的認證資料比較少
)
由于 Twitter 近期只支持 OAuth 認證方式,各大應用紛紛轉向 OAuth 認證方式,新浪微博開(kāi)放平臺也將在近期停止 Base OAuth 認證方式。
為了繼續使用新浪微博的開(kāi)放平臺,我開(kāi)始研究OAuth認證方式。經(jīng)過(guò)一段時(shí)間的實(shí)踐,對新浪微博開(kāi)放平臺的OAuth認證方式有了一定的體會(huì )。鑒于網(wǎng)上關(guān)于這個(gè)平臺的OAuth相關(guān)資料比較少,在此分享一下過(guò)程中積累的經(jīng)驗。希望對一些想使用OAuth認證的人調用新浪微博界面有所幫助~~
1.關(guān)于 OAuth:
OAUth認證方式相比Base OAuth認證方式最大的特點(diǎn)是應用端不需要保存用戶(hù)的賬號和密碼,只需要用戶(hù)授權的Key和Secret組合即可平臺上的接口資源進(jìn)行訪(fǎng)問(wèn),在傳輸過(guò)程中,也可以通過(guò)截包分析,防止惡意人員獲取用戶(hù)的賬號和密碼。 (有一種說(shuō)法,推特之所以完全切換到OAuth認證,是為了防止GFW通過(guò)截包的方式獲取一些相關(guān)名人的賬號和密碼)。具體定義可以閱讀OAuth規范定義:OAuth規范。
2.新浪微博開(kāi)放平臺:
新浪微博開(kāi)放平臺的基本界面、參數、返回格式參考推特模型。當然,國內其他一些開(kāi)放平臺也大量借鑒了推特的模式,所以基本一致。要使用新浪微博的開(kāi)放平臺,當然首先要到其網(wǎng)站注冊:新浪微博API。
注冊后會(huì )得到Consumer Key和Consumer Secret兩個(gè)關(guān)鍵字段。保存它們。
新浪微博的開(kāi)發(fā)平臺有足夠的文檔,可以快速調用這些接口。除了一些困難的接口,我們將在下面討論。
3.在新浪使用 OAuth:
要使用 OAuth,用戶(hù)必須先獲得授權。一般來(lái)說(shuō),授權流程如下:
(1)應用向新浪開(kāi)發(fā)平臺發(fā)送請求,獲取未授權的Request Token和Request Secret。此時(shí)Request Secret暫時(shí)不用,請妥善保管。
(2)以上一步獲取的Request Token為參數,引導用戶(hù)瀏覽器跳轉到新浪微博授權頁(yè)面,用戶(hù)進(jìn)入該頁(yè)面登錄新浪微博進(jìn)行授權Token。如果在() 作為參數,傳遞給新浪微博服務(wù)器,服務(wù)器會(huì )返回真實(shí)的Access Token和Access Secret,新浪微博也會(huì )返回用戶(hù)在新浪微博的userid,有了用戶(hù)的Access Token和Access Secret,你可以自由方便地調用新浪微博的開(kāi)放界面。
每次調用都必須收錄 OAuth 身份驗證信息。作為OAuth認證信息,添加到請求包中基本上有兩種方式:
(1)最推薦的方法是使用HTTP Authorization Header。這個(gè)header的定義在RFC2617中定義。
例如:
Authorization: OAuth realm="http://photos.example.net/",
oauth_consumer_key="dpf43f3p2l4k3l03",
oauth_token="nnch734d00sl2jdk",
oauth_signature_method="HMAC-SHA1",
oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D",
oauth_timestamp="1191242096", oauth_nonce="kllo9940pd9333jh",
oauth_version="1.0"
?。?)或者可以采用,參數傳遞的方式,將OAuth的參數與正常的參數一樣放置與Get的URL中,或者POST的包體內容中,都是可以的,
但遇到一些特殊情況就較難解決這個(gè)問(wèn)題了。
4.OAuth認證參數解析:
在上面可以看到,一個(gè)正常的OAuth認證中,包含以下若干參數:<br />
?。?)oauth_consumer_key: 即是注冊時(shí),新浪給你的conusmer key,明文傳輸<br />
?。?)oauth_token: 即是用戶(hù)完成OAuth認證后的Access Token,在進(jìn)行OAuth認證第三步的時(shí)候,為Request Token,
?第一步時(shí)不需要這個(gè)參數
?。?)oauth_signature_method:加密的方法,提供HMAC-SHA1,?RSA-SHA1, PLAINTEXT 幾種方法<br />
?。?)oauth_signature: 對于全部參數進(jìn)行加密后的字符串,包括consumer secret和access secret<br />
?。?)oauth_timestamp:發(fā)請求的時(shí)間戳<br />
?。?)oauth_version:可選的參數,基本上置為1.0,否則會(huì )出錯的。<br />
?。?)oauth_nonce:隨機的值,防止重復調用<br />
5.上傳圖片OAuth之痛:
使用上面的方法,基本上可以解決所有的接口調用。但遇到難搞的上傳圖片這樣的請求時(shí),就需要一些方法取巧了。<br />
新浪微博的開(kāi)放平臺,要求上傳圖片時(shí)必須使用multipart/form-data的方式進(jìn)行上傳,但OAuth協(xié)議在定義時(shí),描述Content-Type為
application/x-www-form-urlencoded, 而并沒(méi)有提及如何在multipart/form-data使用。<br />
在網(wǎng)上基本上找不到任何一個(gè)地方有提及在新浪微博的開(kāi)放平臺上以OAuth的方式上傳圖片,經(jīng)過(guò)一個(gè)晚上的嘗試與借鑒Twitter上的做法后,
終于發(fā)現了解決方法。
基本上,在協(xié)議上沒(méi)有說(shuō)明的內容,就必須由民間采用較為直觀(guān)的方式進(jìn)行解決。要在新浪微博的接口中進(jìn)行圖片上傳,必須使用multipart/
form-data作為Content-Type,而OAuth的認證參數不能放入form-data的參數中,必須使用Authorization Header來(lái)認證,而這時(shí),必須將除了文
件(file)的參數,就是將status這個(gè)參數加入到oauth的BaseString中進(jìn)行加密,再將status作為fom-data的一個(gè)value中,這樣就能夠
正常的上傳圖片并發(fā)表微博了。通過(guò)這個(gè)簡(jiǎn)單而麻煩的方法,終于能夠安全地上傳圖片到新浪微博。
6.最后
至此,本人已成功調用新浪微博絕大多數的接口,并開(kāi)始將應用覆蓋搜狐微博,網(wǎng)易微博等開(kāi)放平臺,希望可以通過(guò)這篇文章,記錄下一些經(jīng)
驗與教訓。<br />
<br />
7.參考資料
[RFC5849]E。哈默拉哈夫,埃德。 “OAuth 1.0 協(xié)議”,RFC5849
[RFC1867] E. Nebel,L. Masinter,“HTML 中基于表單的文件上傳”,RFC1867
[RFC2616] Fielding,R.,Gettys,J,e "超文本傳輸??協(xié)議 - HTTP/1.1", RFC2616
[RFC2617] Franks,J.“HTTP 身份驗證:基本和摘要式訪(fǎng)問(wèn)身份驗證”,RFC2617
新浪微博開(kāi)放平臺: