{"id":110,"date":"2018-03-10T15:05:18","date_gmt":"2018-03-10T07:05:18","guid":{"rendered":"http:\/\/www.max-shu.com\/blog\/?p=110"},"modified":"2018-03-10T15:05:18","modified_gmt":"2018-03-10T07:05:18","slug":"google%e7%94%a8oauth2%e7%bb%99%e7%ac%ac%e4%b8%89%e6%96%b9%e9%89%b4%e6%9d%83","status":"publish","type":"post","link":"http:\/\/www.max-shu.com\/blog\/?p=110","title":{"rendered":"Google\u7528OAUTH2\u7ed9\u7b2c\u4e09\u65b9\u9274\u6743"},"content":{"rendered":"<p>\u8fd9\u91cc\u662f\u4e00\u4e2ahtml+javascript\u4f8b\u5b50\uff1a<br \/>\n<span style=\"color: #0000ff;\"><b>\u9996\u5148<\/b><\/span>\u7528\u5b83\u5f97\u5230access_token\uff1a<br \/>\n<wbr \/><br \/>\nhttps:\/\/accounts.google.com\/o\/oauth2\/auth?client_id=133501856298.apps.googleusercontent.com&#038;redirect_uri=http:\/\/www.hanborq.com\/static\/test_google_oauth.html&#038;scope=https:\/\/www.google.com\/m8\/feeds\/&#038;response_type=token<\/p>\n<p><span style=\"color: #0000ff;\"><b>\u518d<\/b><\/span>\u7528\u5b83\u5f97\u5230\u7528\u6237\u540d\u5b57\u548cgmail\uff1a<br \/>\nhttps:\/\/www.google.com\/m8\/feeds\/contacts\/default\/thin?oauth_token=&#8221;+access_token+&#8221;&amp;max-results=0&#8243;<\/p>\n<p><span style=\"color: #ff00ff;\">\u8fd9\u91cc\u53ef\u4ee5\u8fdb\u884c\u6d4b\u8bd5\uff1a<\/span><br \/>\n<a href=\"http:\/\/www.hanborq.com\/static\/test_google_oauth.html\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/www.hanborq.com\/static\/test_google_oauth.html<\/a><\/p>\n<p><span style=\"color: #ff0000;\"><b>\u6e90\u6587\u4ef6\u5982\u4e0b\uff08test_google_oauth.html\uff09\uff1a<\/b><\/span><br \/>\n&lt;DOCTYPE html PUBLIC &#8220;-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN&#8221; &#8220;http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd&#8221;&gt;<br \/>\n&lt;html xmlns=&#8221;http:\/\/www.w3.org\/1999\/xhtml&#8221;&gt;<br \/>\n&lt;head&gt;<br \/>\n&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text\/html;charset=utf-8&#8243; \/&gt;<br \/>\n&lt;title&gt;\u6d4b\u8bd5google OAUTH\u7ed9\u7b2c\u4e09\u65b9\u9274\u6743\u548c\u6388\u6743&lt;\/title&gt;<br \/>\n&lt;link rel=&#8221;shortcut icon&#8221; href=&#8221;http:\/\/adaishu.blog.163.com\/blog\/Hanborq-logo.ico&#8221; \/&gt;<br \/>\n&lt;link rel=&#8221;icon&#8221; type=&#8221;image\/gif&#8221; href=&#8221;http:\/\/adaishu.blog.163.com\/blog\/Hanborq-logo-199X57-web.gif&#8221; \/&gt;<br \/>\n&lt;style type=&#8221;text\/css&#8221;&gt;<br \/>\n&lt;!&#8211;<br \/>\nbody{background-color:#FFF; background-image:url(images\/base_bg.jpg);\u00a0\u00a0\u00a0 background-repeat:repeat-x;\u00a0\u00a0\u00a0 margin:0px;\u00a0\u00a0\u00a0 padding:0px;<br \/>\nline-height:200%;padding-top:10px;}<br \/>\n&#8211;&gt;<br \/>\n&lt;\/style&gt;<\/p>\n<p>&lt;script type=&#8221;text\/javascript&#8221;&gt;<\/p>\n<p>function GetUrlParms(){<br \/>\nvar args=new Object();<br \/>\nvar query=location.href;\/\/\u83b7\u53d6\u67e5\u8be2\u4e32<br \/>\nvar pos=query.indexOf(&#8216;#&#8217;); \/\/\u7b2c\u4e8c\u6b21\u4ecegoogle\u91cd\u5b9a\u5411\u540e\u8fd4\u56de\u7684\u683c\u5f0f: http:\/\/xxx.xxx\/yyy.yy#access_token=zzzz&amp;expires_in=wwww<br \/>\nif(pos==-1)<br \/>\nreturn;<br \/>\nvar query=query.substring(pos+1);<br \/>\nvar pairs=query.split(&#8220;&amp;&#8221;);\/\/\u5728\u9017\u53f7\u5904\u65ad\u5f00<br \/>\nfor(var i=0; i&lt;pairs.length; i++)<br \/>\n{<br \/>\nvar pos=pairs[i].indexOf(&#8216;=&#8217;);\/\/\u67e5\u627ename=value<br \/>\nif(pos==-1)\u00a0\u00a0 continue;\/\/\u5982\u679c\u6ca1\u6709\u627e\u5230\u5c31\u8df3\u8fc7<br \/>\nvar argname=pairs[i].substring(0,pos);\/\/\u63d0\u53d6name<br \/>\nvar value=pairs[i].substring(pos+1);\/\/\u63d0\u53d6value<br \/>\nargs[argname]=unescape(value);\/\/\u5b58\u4e3a\u5c5e\u6027<br \/>\n}<br \/>\nreturn args;<br \/>\n}<\/p>\n<p>function GetName(rsptext){<br \/>\nvar pos=rsptext.indexOf(&#8220;&lt;name&gt;&#8221;); \/\/google\u8fd4\u56de\u683c\u5f0f: &lt;name&gt;\u963f\u5446&lt;\/name&gt;<br \/>\nif(pos==-1)<br \/>\nreturn;<br \/>\nvar posend=rsptext.indexOf(&#8220;&lt;\/name&gt;&#8221;);<br \/>\nif(posend==-1)<br \/>\nreturn;<br \/>\nvar name=rsptext.substring(pos+6,posend);<br \/>\nreturn name;<br \/>\n}<\/p>\n<p>function GetUserId(rsptext){<br \/>\nvar pos=rsptext.indexOf(&#8220;&lt;id&gt;&#8221;); \/\/google\u8fd4\u56de\u683c\u5f0f: &lt;id&gt;adaishu@gmail.com&lt;\/id&gt;<br \/>\nif(pos==-1)<br \/>\nreturn;<br \/>\nvar posend=rsptext.indexOf(&#8220;&lt;\/id&gt;&#8221;);<br \/>\nif(posend==-1)<br \/>\nreturn;<br \/>\nvar userId=rsptext.substring(pos+4,posend);<br \/>\nreturn userId;<br \/>\n}<\/p>\n<p>window.onload=function(){<br \/>\nvar args = new Object();<br \/>\nargs = GetUrlParms();<br \/>\nif(args==null)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/\u7b2c\u4e00\u6b21\u8fdb\u6765args\u4e3a\u7a7a<br \/>\nreturn;<br \/>\nif(args[&#8220;access_token&#8221;]==null) \/\/\u7b2c\u4e8c\u6b21\u8fdb\u6765\u662f\u4ecegoogle\u91cd\u5b9a\u5411\u8fc7\u6765\u7684\uff0c\u5e26\u6709\u53c2\u6570access_token\u3002<br \/>\nreturn;<br \/>\ndocument.getElementById(&#8216;datas&#8217;).innerHTML = &#8220;\u7b49\u5f85\u3002\u3002\u3002&#8221;;<br \/>\nvar access_token = args[&#8220;access_token&#8221;];<br \/>\n\/\/alert(access_token);<\/p>\n<p>try {<br \/>\nxmlhttp = new ActiveXObject(&#8220;Msxml2.XMLHTTP&#8221;);<br \/>\n} catch (e) {<br \/>\ntry {<br \/>\nxmlhttp = new ActiveXObject(&#8220;Microsoft.XMLHTTP&#8221;);<br \/>\n} catch (E) {<br \/>\nxmlhttp = false;<br \/>\n}<br \/>\n}<br \/>\nif (!xmlhttp &amp;&amp; typeof XMLHttpRequest!=&#8217;undefined&#8217;) {<br \/>\ntry {<br \/>\nxmlhttp = new XMLHttpRequest();<br \/>\n} catch (e) {<br \/>\nxmlhttp=false;<br \/>\n}<br \/>\n}<br \/>\nif (!xmlhttp &amp;&amp; window.createRequest) {<br \/>\ntry {<br \/>\nxmlhttp = window.createRequest();<br \/>\n} catch (e) {<br \/>\nxmlhttp=false;<br \/>\n}<br \/>\n}<br \/>\nif(!xmlhttp)<br \/>\nreturn;<\/p>\n<p>xmlhttp.open(&#8220;GET&#8221;, &#8220;https:\/\/www.google.com\/m8\/feeds\/contacts\/default\/thin?oauth_token=&#8221;+access_token+&#8221;&amp;max-results=0&#8221;, true);<br \/>\nxmlhttp.onreadystatechange=function() {<br \/>\nif (xmlhttp.readyState==4) {<br \/>\nif (xmlhttp.status!=200)<br \/>\nalert(&#8220;\u670d\u52a1\u5668\u8fd4\u56de\u9519\u8bef\uff0c\u72b6\u6001\u662f\uff1a&#8221;+xmlhttp.status +&#8221;\uff1b\u5185\u5bb9\u4e3a\uff1a&#8221;+xmlhttp.responseText);<br \/>\n\/\/alert(xmlhttp.responseText);<br \/>\nvar userId = GetUserId(xmlhttp.responseText);<br \/>\nvar name = GetName(xmlhttp.responseText);<br \/>\n\/\/alert(&#8220;\u540d\u5b57\uff1a&#8221;+name+&#8221;\uff0cGMail\uff1a&#8221;+userId);<br \/>\ndocument.getElementById(&#8216;datas&#8217;).innerHTML = &#8220;\u540d\u5b57\uff1a&#8221;+name+&#8221;\uff0cGMail\uff1a&#8221;+userId;<br \/>\n}<br \/>\n}<br \/>\nxmlhttp.send(null);<br \/>\n}<br \/>\n&lt;\/script&gt;<\/p>\n<p>&lt;\/head&gt;<\/p>\n<p>&lt;body&gt;<br \/>\n&lt;a href=&#8221;http:\/\/www.hanborq.com\/&#8221;&gt;&lt;img style=&#8221;&#8221; src=&#8221;http:\/\/adaishu.blog.163.com\/blog\/Hanborq-logo-199X57-web.gif&#8221; \/&gt;&lt;\/a&gt;<br \/>\n&lt;p&gt;&lt;\/p&gt;<br \/>\n&lt;div style=&#8221;text-align:center;&#8221;&gt;<br \/>\n&lt;h1&gt;\u6d4b\u8bd5google OAUTH\u7ed9\u7b2c\u4e09\u65b9\u9274\u6743\u548c\u6388\u6743&lt;\/h1&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;div style=&#8221;text-align:center;&#8221;&gt;<br \/>\n&lt;p&gt;firefox\u5bf9\u4e8eXMLHttpRequest\u7684https\u8bf7\u6c42\uff0c\u4e0d\u80fd\u6b63\u786e\u5f97\u5230\u7ed3\u679c\uff0c\u6240\u4ee5\u8981\u7528IE\uff0c\u628ahttp:\/\/www.google.com\u3001https:\/\/www.google.com\u548chttp:\/\/www.hanborq.com\u52a0\u5165IE\u4fe1\u4efb\u7ad9\u70b9\uff0c\u7136\u540e\u6253\u5f00\u8de8\u57df\u8bbf\u95ee\uff0c\u5426\u5219\u63d0\u793a\u6ca1\u6709\u6743\u9650\u3002&lt;\/p&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;div style=&#8221;text-align:center;&#8221;&gt;<br \/>\n&lt;a href=&#8221;https:\/\/accounts.google.com\/o\/oauth2\/auth?client_id=133501856298.apps.googleusercontent.com&amp;redirect_uri=http:\/\/www.hanborq.com\/static\/test_google_oauth.html&amp;scope=https:\/\/www.google.com\/m8\/feeds\/&amp;response_type=token&#8221;&gt;\u8bf7\u6c42google\u9274\u6743&lt;\/a&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;div id=&#8221;datas&#8221;&gt;&lt;\/div&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u91cc\u662f\u4e00\u4e2ahtml+javascript\u4f8b\u5b50\uff1a \u9996\u5148\u7528\u5b83\u5f97\u5230access_token\uff1a https:\/\/acc &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[76,73,75],"class_list":["post-110","post","type-post","status-publish","format-standard","hentry","category-4","tag-google","tag-oauth2","tag-75"],"views":1999,"_links":{"self":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=110"}],"version-history":[{"count":1,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":111,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions\/111"}],"wp:attachment":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}