⑴ 新浪微博開發者文檔里"授權回調頁"是什麼意思
是顯示 這個:redirect_url「授權回調頁」,
這個事授權給修改頁面順序的
新浪應用怎麼設置授權回調頁怎麼設置?
你用的是php的客戶端嗎,新浪的SDK里有
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o- > getRequestToken();
$aurl = $o- > getAuthorizeURL( $keys['oauth_token'] ,false , $_SERVER['SCRIPT_URI'].'/callback.php');
⑵ qq授權登錄怎麼獲取accesstokenobj
1. 簡介
即server-side模式,是OAuth2.0認證的一種模式,又稱Web Server Flow;
適用於需要從web server訪問的應用,例如Web/wap網站。
其授權驗證流程示意圖如下(圖片來源:OAuth2.0協議草案V21的4.1節 )
對於應用而言,需要進行兩步:
1. 獲取Authorization Code;
2. 通過Authorization Code獲取Access Token
2. 過程詳解
Step1:獲取Authorization Code
請求地址:
PC網站: https://graph.qq.com/oauth2.0/authorize
WAP網站: https://graph.z.qq.com/moc2/authorize
請求方法:
GET
請求參數:
請求參數請包含如下內容:
參數
是否必須
含義
response_type 必須 授權類型,此值固定為「code」。
client_id 必須 申請QQ登錄成功後,分配給應用的appid。
redirect_uri 必須 成功授權後的回調地址,必須是注冊appid時填寫的主域名下的地址,建議設置為網站首頁或網站的用戶中心。注意需要將url進行URLEncode。
state 必須 client端的狀態值。用於第三方應用防止CSRF攻擊,成功授權後回調時會原樣帶回。請務必嚴格按照流程檢查用戶與state參數狀態的綁定。
scope 可選 請求用戶授權時向用戶顯示的可進行授權的列表。
可填寫的值是【QQ登錄】API文檔中列出的介面,以及一些動作型的授權(目前僅有:do_like),如果要填寫多個介面名稱,請用逗號隔開。
例如:scope=get_user_info,list_album,upload_pic,do_like
不傳則默認請求對介面get_user_info進行授權。
建議控制授權項的數量,只傳入必要的介面名稱,因為授權項越多,用戶越可能拒絕進行任何授權。
display 可選 僅PC網站接入時使用。
用於展示的樣式。不傳則默認展示為PC下的樣式。
如果傳入「mobile」,則展示為mobile端下的樣式。
g_ut 可選 僅WAP網站接入時使用。
QQ登錄頁面版本(1:wml版本; 2:xhtml版本),默認值為1。
返回說明:
1. 如果用戶成功登錄並授權,則會跳轉到指定的回調地址,並在redirect_uri地址後帶上Authorization Code和原始的state值。如:
PC網站:http://graph.qq.com/demo/index.jsp?code=9A5F************************06AF&state=test
WAP網站:http://open.z.qq.com/demo/index.jsp?code=9A5F************************06AF&state=test
注意:此code會在10分鍾內過期。
2. 如果用戶在登錄授權過程中取消登錄流程,對於PC網站,登錄頁面直接關閉;對於WAP網站,同樣跳轉回指定的回調地址,並在redirect_uri地址後帶上usercancel參數和原始的state值,其中usercancel值為非零,如:
http://open.z.qq.com/demo/index.jsp?usercancel=1&state=test
錯誤碼說明:
介面調用有錯誤時,會返回code和msg欄位,以url參數對的形式返回,value部分會進行url編碼(UTF-8)。
PC網站接入時,錯誤碼詳細信息請參見:100000-100031:PC網站接入時的公共返回碼。
WAP網站接入時,錯誤碼詳細信息請參見:6000-6999:獲取Authorization Code時,發生錯誤。
Step2:通過Authorization Code獲取Access Token
請求地址:
PC網站:https://graph.qq.com/oauth2.0/token
WAP網站:https://graph.z.qq.com/moc2/token
請求方法:
GET
請求參數:
請求參數請包含如下內容:
參數
是否必須
含義
grant_type 必須 授權類型,此值固定為「authorization_code」。
client_id 必須 申請QQ登錄成功後,分配給網站的appid。
client_secret 必須 申請QQ登錄成功後,分配給網站的appkey。
code 必須 上一步返回的authorization code。
如果用戶成功登錄並授權,則會跳轉到指定的回調地址,並在URL中帶上Authorization Code。
例如,回調地址為www.qq.com/my.php,則跳轉到:
http://www.qq.com/my.php?code=520DD95263C1CFEA087******
注意此code會在10分鍾內過期。
redirect_uri 必須 與上面一步中傳入的redirect_uri保持一致。
返回說明:
如果成功返回,即可在返回包中獲取到Access Token。
返回如下字元串:access_token=FE04************************CCE2&expires_in=7776000 。
說明:
expires_in是該access token的有效期,單位為秒。
錯誤碼說明:
介面調用有錯誤時,會返回code和msg欄位,以url參數對的形式返回,value部分會進行url編碼(UTF-8)。
PC網站接入時,錯誤碼詳細信息請參見:100000-100031:PC網站接入時的公共返回碼。
WAP網站接入時,錯誤碼詳細信息請參見:7000-7999:通過Authorization Code獲取Access Token時,發生錯誤。
3. 快速上手
詳見:【QQ登錄】開發攻略_Server-side。
⑶ 如何運用 bshaffer/oauth2-server-php 開發
還是把代碼貼出來吧. 程序是順序執行的.
你的情況根據描述可能是第一次循環沒執行完,就開始了
第二次循環,然後第三次循環.. 你可以把數量設置低一些,一次寫3W條試試,
一次寫1W條試試. 或者先循環一次,break,看看有沒有問題,然後循環2次,
⑷ 什麼是全棧開發者
前端工程師:在打開一個網站時,屏幕上的一切都屬於前端。前端工程師負責創建用戶界面背後的代碼。這些工程師不僅要熟悉HTML、javaScript與CSS,還要掌握很多框架。這些框架有Foundation、Angular JS、Ember JS、Backbone及Bootstrap等等。前端工程師要與設計師和其他專家協同工作,從而將網站從模型轉換為可使用的模式。
後端工程師:在你每天所訪問的網站背後有伺服器網路、資料庫以及各種應用,他們相互協作將你所請求的網頁與數據傳遞給你。後端工程師負責構建這些組件。他們要擅長各種編程語言,如Python、.Net、Ruby、Java及PHP等等,從而通過這些語言來編寫程序。他們還需要使用各種資料庫程序如MySQL、SQL Server及Oracle等來操縱信息並將其傳遞給最終用戶。後端工程師需要與組織中的各種經理及其他成員通力配合來完成工作。
全棧工程師:全棧工程師既要了解後端開發,也要了解前端開發。他們是「全方位」的工程師,熟悉服務端的同時又懂客戶端用戶體驗。全棧工程師理解Web開發進程的每一個方面,同時又會就整體策略與最佳實踐對相關干係人提出建議與指導。
⑸ 什麼是全棧工程師
近國內外都在流行一個詞叫Full Stack,中文翻譯過來叫全棧工程師,也叫全端工程師。微博上很多專業人士都在討論全端工程師,有贊有毀的。我對全端工程師的定義是:掌握多種技能,並能利用多種技能獨立完成產品的人。打外比方,全棧工程師就是一個能獨立蓋一幢10層小洋樓的人,而普通工程師,則是可以和一群人蓋一幢摩天大樓的人。至於要掌握哪些技能,我覺得這個要跟從事的行業與技術方向有關,做互聯網的和做軟體的是不一樣的,即使是做互聯網的,後端也可以分為很多種技術流派。
8/2定律在哪都適用,全棧工程師就是掌握20%常用技能的人,但這20%的技能會有80%的幾率被用到,剩下那80%不常用的,讓我們Google吧。
有人說,全棧工程師在中國已經很多年了,他們叫站長。這個說話有點靠譜但又不那麼靠譜,我自己也做過站長,深知作為一名站長需要掌握很多種技術。不靠譜的是,很多站長其實並沒有真正寫過多少代碼,而是熟練利用一些建站軟體來建站。
全棧工程師的價值
有人說了,你再牛逼,你懂五種技術,你能幹五個人的活嗎?全棧工程師並不是說一個人能幹幾個人的活,而是要從多個方面來看這個問題。
全局性思維
現代項目的開發,很少說只用到一兩種技術的,特別是移動互聯網大潮下。隨便一個互聯網項目中用到的技術,就會需要用到後端開發、前端開發、界面設計、產品設計、資料庫、各種移動客戶端、三屏兼容、restFul API設計和OAuth等等,一些比較前衛的項目,可能會用到Single Page Application、Web Socket、HTML5/CSS3這些技術,還有像第三方開發像微信公眾號微博應用等等。
Web前端也遠遠不是從前的切個圖用個jQuery上個AJAX兼容各種瀏覽器那麼簡單了。現代的Web前端,你需要用到模塊化開發、多屏兼容、MVC,各種復雜的交互與優化,甚至你需要用到Node.js來協助前端的開發。
所以說一個現代化的項目,是一個非常復雜的構成,我們需要一個人來掌控全局,他不需要是各種技術的資深專家,但他需要熟悉到各種技術。對於一個團隊特別是互聯網企業來說,有一個全局性思維的人非常非常重要。
像如果是我經手的項目,我肯定會注意到網頁優化,也會考慮到API來兼容各種客戶端,更會考慮到三屏兼容的問題。不會說項目中完全使用AJAX而不顧SEO,也不會為了功能性而忽略訪問速度,我會很好的把握這個平衡,因為我知道它們的權重與實現成本。
溝通成本
項目越大,溝通成本越高,做過項目管理的人都知道,項目中的人力是1+1<2的,人越多效率越低。因為溝通是需要成本的,不同技術的人各說各話,前端和後端是一定會掐架的。每個人都會為自己的利益而戰,毫不為已的人是不存在的。
而全棧工程師的成本幾乎為零,因為各種技術都懂,胸有成竹,一不小心自己就全做了。即使是在團隊協作中,與不同技術人員的溝通也會容易得多,你讓一個後端和一個前端去溝通,那完全是雞同鴨講,更不用說設計師與後端了。但如果有一個人懂產品懂設計懂前端懂後端,那溝通的結果顯然不一樣,因為他們講的,彼此都能聽得懂。
創業公司
對於創業公司來說,全端工程師的價值是非常大的,創業公司不可能像大公司一樣,各方面的人才都有。所以我們需要一個多面手,各種活都能一肩挑,獨擋多面的萬金油。對於創業公司,不可能說DBA前端後端客戶端各種人才全都備齊了,很多工作請人又不飽和,不請人又沒法做,外包又不放心質量,所以全端工程師是省錢的一妙招。雖然說全端工程師工資會比一般的工程師會高很多,但綜合下來,成本會低很多。
全棧工程師的困境
我講技術有兩個發展方向,一種是縱向一種是橫向的,橫向的是瑞士軍刀,縱向的是削鐵如泥的干將莫邪。這兩個方向都沒有對與錯,發展到一定程序都會相互溶合,就好比中國佛家禪修的南頓北漸,其實到了最後,漸悟與頓悟是一樣的,頓由漸中來。
如果一個公司不太懂全棧工程師的價值,那麼全棧工程師的地位將會很尷尬,說得不好聽一點,全棧工程師就是什麼都會,都么都不會。曾經有一次面試,對方問我很基礎的問題,我答不上來,我能做出產品,也知道什麼是怎麼一回事,我也不會犯那些錯誤,但我就是答不上概念,要考倒我非常容易。所以在應聘面試的時候,有些時候會吃虧,你可能會不如哪些在某一方面鑽得很深的人工資拿得高。
由於經常在各種技術穿梭,我會經常忘記代碼的語法和一些API,所以我經常需要去查API甚至查語法,我覺得沒有Google我幾乎沒法工作。這在某些人的眼裡,是技術不夠的表現。我記的只是一個Key,一個如何找尋答案的索引,而不是全部,人腦不是電腦,我不可能要求我能記下所有的東西。
有一次面試官問我一個問題,我說我不知道,但我猜大概是如此這般,對方問我,你為什麼這么猜,我說憑直覺,對方笑了笑沒說話。面試完後我一查,果然和我猜的差不多。沒錯,我就是憑直覺,但這種直覺和女人的直覺不一樣,這種直覺是技術上的直覺,是你過去技術經驗累積的一個反射。
我不是一個非常專業的Web前端,也不是一個非常專業的Node.js開發工程師,更不是一個非常專業的iOS開發工程師。用人單位會問我,你到底是專業做哪一個方面的,我為什麼要給你這么高的工資?
有什麼資格來談全棧工程師
我應該算是一個全棧型工程師了,行業經驗已經超過10年。獨立做過不少產品,也帶過不少項目,經過的產品包括桌面端、Web產品、移動端產品,Web端涵蓋前端與後端,移動端主要做iOS和混合開發。
熟悉Web前端,對MVC/模塊化開發有實戰經驗,熟悉CoffeeScript、Grunt、RequireJS、Handlebars等等,自己寫過小型的Javascript框架,一個項目中的JS代碼超過一萬行。熟知網頁優化,知道如何讓網頁變得更加快速。也略懂SEO,知道什麼樣的URL和代碼會更討好Spider。
熟悉Node.js,有幾個項目都是基於Node.js的,目前發布有開源的Blog程序Purelog,在NPM上有多個模塊發布。熟悉混合開發,過去我曾經有超過一年的時間是在研究Hybrid技術,多個App基於混合開發技術,也有開發類似於PhoneGap的解決方案。對HTML5在手機上的表現頗為熟悉,挖過很多的技術坑,如白屏問題,Sqlite問題,滾動條問題,硬體動畫加速、點擊延時問題等等。
會做設計,熟悉Photoshop,所有的產品不管是Logo還是界面全都是自己做的設計,雖然在資深的設計師眼裡不值一提,但在工程師隊伍中算是比較另類了。
熟悉Objective-C,有兩年以上的iOS開發經驗,在App Store上有約十款App。熟悉伺服器的一般性操作,自己有VPS並運行多個網站,雖然配置伺服器經常要去Google。
早年曾經做過一年的Delphi,也曾做過幾年的ASP.net,雖然這些技術我目前已經放棄,完全轉向*nix平台,但累積下的經驗是在的。多年的項目管理經驗,曾在三個公司擔任過項目經理,累計項目管理經驗超過4年。在多個科技門戶發表過技術和評論文章。
為什麼我會成為全棧工程師
我相信很多全棧型工程師會和我一樣,是因為要創業才成為全棧型工程師的。我有一顆創業和做產品的心,而且我又是一個不願意麻煩別人的人,有些人擅長整合資源,空手套白狼,但我顯然不是這種人,所以我只好自己做了。
在經歷過兩次孤獨的創業之後,我發現我並不是一個適合獨立創業的人,所以,我成為了一個全端工程師。我最初是做ASP,後來自己創業寫客戶端用Delphi,然後寫了三年的ASP.Net,2010年的時候因為公司需要開始做iOS開發。Web前端是一直自己在做,項目中的的Javascript基本都是我自己在做。
我熱愛寫代碼,熱愛重復發明輪子,熱愛新技術,我想這也是我成為一個全棧工程師的重要原因。
於我自己來說,我覺得全端工程師的樂趣要比一般工程師來得多,因為你知道一個產品的形態,你可以去設計一個產品,你是從全局的視野來做事情,你得到的成就感會更多一些。
⑹ 請問一下,PHP配置SMTP怎麼弄
PHPMailer的獲取:
PHPMailer項目地址:PHPMailer 使用git命令克隆到本地,或直接在該項目頁面的右下方點擊「 Download ZIP 」即可獲取到完整的PHPMailer代碼包,再到本地解壓即可。
步驟一:使我們的QQ郵箱能夠發送郵件
這里怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的。
這里怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的
由於待會我們用到的是SMTP伺服器來發送,在這里建議把前面的兩項開啟了!當你點擊開啟的時候,它會提示:
<?phprequire_once("./functions.php");$flag=sendMail('[email protected]','lsgo在線通知','恭喜你成功加入LSGO實驗室,開啟你的學習之旅吧!');if($flag){echo"發送郵件成功!";
}else{echo"發送郵件失敗!";
}?>
⑺ java可以開發什麼項目
目前來說Java的應用領域很廣,可以說是現在最普及的,遍布各行各業,可見其優勢所在。
1、大數據領域
Hadoop以及其他大數據處理技術普遍用的都是Java,當然其他語言也有用到,基於Java 的 HBase和Accumulo以及ElasticSearchas。但Java在此領域並未占太大空間,但只要Hadoop和ElasticSearchas能夠成長壯大,Java依然有潛力占據一部分。
6、其他領域
Java依然是在科學應用中最好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。
可以說Java作為軟體行業默認開發語言在各個領域均有廣泛應用,相關從業者也都認為Java有著光明的未來。
希望對您有所幫助!~
⑻ REST 架構該怎麼生動地理解
先說REST名稱
REST:REpresentational State Transfer = 直接翻譯:表現層狀態轉移。這個中文直譯經常出現在很多博客中。尼瑪誰聽得懂「表現層狀態轉移」?這是人話嗎?
首先,之所以晦澀是因為前面主語被去掉了,全稱是 Resource Representational State Transfer:通俗來講就是:資源在網路中以某種表現形式進行狀態轉移。分解開來:
Resource:資源,即數據(前面說過網路的核心)。比如 newsfeed,friends等;
Representational:某種表現形式,比如用JSON,XML,JPEG等;
State Transfer:狀態變化。通過HTTP動詞實現。
REST的出處
Roy
Fielding的畢業論文。這哥們參與設計HTTP協議,也是Apache Web Server項目(可惜現在已經是 nginx
的天下)的co-founder。PhD的畢業學校是 UC
Irvine,Irvine在加州,有著充裕的陽光和美麗的海灘,是著名的富人區。Oculus VR
的總部就坐落於此(虛擬現實眼鏡,被FB收購,CTO為Quake和Doom的作者 John Carmack)。
眾說周知,論文都是晦澀難懂的。當年在CMU讀書的時候,很多課程都會安排每周兩篇的Paper review。現在回想起來每次寫Paper review都是我最為痛苦的時候。REST這篇博士論文毫無疑問更甚。
論文地址:Architectural Styles and the Design of Network-based Software Architectures
REST章節:Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST)
REST那章我初讀了,整個論文沒有讀完 =_=
RESTful API
實用的是如何正確地理解 RESTful架構和設計好RESTful API。
首先為什麼要用RESTful結構呢?
大
家都知道"古代"網頁都是前端後端融在一起的,比如之前的PHP,JSP等。在之前的桌面時代問題不大,但是近年來移動互聯網的發展,各種類型的
Client層出不窮,RESTful可以通過一套統一的介面為 Web,iOS和android提供服務。另外對於廣大平台來說,比如Facebook
platform,微博開放平台,微信公共平台等,它們不需要有顯式的前端,只需要一套提供服務的介面,於是RESTful更是它們最好的選擇。在
RESTful架構下:
Server的API如何設計才滿足RESTful要求?
首先是簡潔版裡面的那幾點。外加一些附帶的 best practices:
1. URL root:
https://example.org/api/v1/*
https://api.example.com/v1/*2. API versioning:
可以放在URL裡面,也可以用HTTP的header:
/api/v1/
3. URI使用名詞而不是動詞,且推薦用復數。
BAD
/getProcts
/listOrders
/retrieveClientByOrder?orderId=1
GOOD
GET /procts : will return the list of all procts
POST /procts : will add a proct to the collection
GET /procts/4 : will retrieve proct #4
PATCH/PUT /procts/4 : will update proct #4
4. 保證 HEAD 和 GET 方法是安全的,不會對資源狀態有所改變(污染)。比如嚴格杜絕如下情況:
GET /deleteProct?id=1
5. 資源的地址推薦用嵌套結構。比如:
GET /friends/10375923/profile
UPDATE /profile/primaryAddress/city6. 警惕返回結果的大小。如果過大,及時進行分頁(pagination)或者加入限制(limit)。HTTP協議支持分頁(Pagination)操作,在Header中使用 Link 即可。
7. 使用正確的HTTP Status Code表示訪問狀態:HTTP/1.1: Status Code Definitions
8. 在返回結果用明確易懂的文本(String。注意返回的錯誤是要給人看的,避免用 1001 這種錯誤信息),而且適當地加入注釋。
9.
關於安全:自己的介面就用https,加上一個key做一次hash放在最後即可。考慮到國情,HTTPS在無線網路里不穩定,可以使用
Application
Level的加密手段把整個HTTP的payload加密。有興趣的朋友可以用手機連上電腦的共享Wi-Fi,然後用Charles監聽微信的網路請求
(發照片或者刷朋友圈)。
如果是平台的API,可以用成熟但是復雜的OAuth2,新浪微博這篇:授權機制說明
各端的具體實現
如上面的圖所示,Server統一提供一套RESTful API,web+ios+android作為同等公民調用API。各端發展到現在,都有一套比較成熟的框架來幫開發者事半功倍。
-- Server --
推薦: Spring MVC 或者 Jersey 或者 Play Framework
教程:
Getting Started · Building a RESTful Web Service
-- Android --
推薦: RetroFit ( Retrofit ) 或者 Volley ( mcxiaoke/android-volley · GitHub Google官方的被block,就不貼了 )
教程:
Retrofit โ Getting Started and Create an Android Client
快速Android開發系列網路篇之Retrofit
-- iOS --
推薦:RestKit ( RestKit/RestKit · GitHub )
教程:
Developing RESTful iOS Apps with RestKit
-- Web --
推薦隨便搞!可以用重量級的AngularJS,也可以用輕量級 Backbone + jQuery 等。
⑼ XMLHttpRequest 出現異常:Access to restricted URI denied
檢查訪問路徑是否正確,尤其是在windows機器上裝的web伺服器,把windows路徑錯誤的當做伺服器路徑訪問時就會出這個錯。
Access to restricted URI denied的錯誤,需要檢查:
1、是否跨站訪問。
2、如果是本地資源訪問,那麼在windows機器上需要注意windows的文件路徑是不能用來當作web服務路徑的。
3、檢查web根目錄,檢查URI是否是相對於web根目錄的相對路徑並可訪問(包括用戶許可權)
(9)phpoauthserver擴展閱讀:
XMLHTTP:一組API函數集,可被JavaScript、JScript、VBScript以及其它web瀏覽器內嵌的腳本語言調用,通過HTTP在瀏覽器和web伺服器之間收發XML或其它數據。XMLHTTP最大的好處在於可以動態地更新網頁,它無需重新從伺服器讀取整個網頁,也不需要安裝額外的插件。
該技術被許多網站使用,以實現快速響應的動態網頁應用。例如:Google的Gmail服務、Google Suggest動態查找界面以及Google Map地理信息服務。