pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    1. <small id='C3a63'></small><noframes id='C3a63'>

    2. <legend id='C3a63'><style id='C3a63'><dir id='C3a63'><q id='C3a63'></q></dir></style></legend>

          <bdo id='C3a63'></bdo><ul id='C3a63'></ul>
      1. <i id='C3a63'><tr id='C3a63'><dt id='C3a63'><q id='C3a63'><span id='C3a63'><b id='C3a63'><form id='C3a63'><ins id='C3a63'></ins><ul id='C3a63'></ul><sub id='C3a63'></sub></form><legend id='C3a63'></legend><bdo id='C3a63'><pre id='C3a63'><center id='C3a63'></center></pre></bdo></b><th id='C3a63'></th></span></q></dt></tr></i><div class="w2uieas" id='C3a63'><tfoot id='C3a63'></tfoot><dl id='C3a63'><fieldset id='C3a63'></fieldset></dl></div>

        <tfoot id='C3a63'></tfoot>

        使用 OAuth Refresh Token 獲取新的 Access Token - Google

        Use OAuth Refresh Token to Obtain New Access Token - Google API(使用 OAuth Refresh Token 獲取新的 Access Token - Google API)
          <tbody id='WbrPM'></tbody>

      2. <legend id='WbrPM'><style id='WbrPM'><dir id='WbrPM'><q id='WbrPM'></q></dir></style></legend>

          <small id='WbrPM'></small><noframes id='WbrPM'>

              <i id='WbrPM'><tr id='WbrPM'><dt id='WbrPM'><q id='WbrPM'><span id='WbrPM'><b id='WbrPM'><form id='WbrPM'><ins id='WbrPM'></ins><ul id='WbrPM'></ul><sub id='WbrPM'></sub></form><legend id='WbrPM'></legend><bdo id='WbrPM'><pre id='WbrPM'><center id='WbrPM'></center></pre></bdo></b><th id='WbrPM'></th></span></q></dt></tr></i><div class="ekgaam2" id='WbrPM'><tfoot id='WbrPM'></tfoot><dl id='WbrPM'><fieldset id='WbrPM'></fieldset></dl></div>
                <tfoot id='WbrPM'></tfoot>
                • <bdo id='WbrPM'></bdo><ul id='WbrPM'></ul>
                • 本文介紹了使用 OAuth Refresh Token 獲取新的 Access Token - Google API的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我的應(yīng)用很簡單,它連接到 Google+ API 對用戶進(jìn)行身份驗證,如果成功,它會檢索用戶的電子郵件,然后根據(jù)電子郵件對給定的數(shù)據(jù)庫執(zhí)行一系列操作取回.

                  My app is simple, it connects to the Google+ API to authenticate the user, and if successful, it retrieves the user's email and then performs a series of operations on a given database based on the email retrieved.

                  我的主要問題是,我的訪問令牌每小時都會過期,而我似乎不知道如何刷新"它.我收到以下錯誤,我認(rèn)為這是預(yù)期的:

                  My main issue is that every hour, my access token expires, and I seem not to know how to "refresh" it. I get the following error, which I imagine is expected:

                  The OAuth 2.0 access token has expired, and a refresh token is not available.
                  

                  我目前正在將訪問令牌存儲在數(shù)據(jù)庫中,因此我可以根據(jù)需要進(jìn)行檢索.我唯一的問題是如何使用該令牌來獲得新令牌?

                  I am currently storing the access token on a database, and I can therefore retrieve if needed. My only question is how do I use that token to gain a new one?

                  推薦答案

                  哇,我花了很長時間才弄明白這個問題,而且這些答案對我來說似乎很不完整.

                  Whoa, it took me significantly longer to figure this out, and the answers out there seemed quite incomplete to me.

                  在我們開始之前請記住,這個答案假設(shè)您使用的是最新的 Google APIPHP 庫,截至 2014 年 5 月 26 日.

                  Before we start please keep in mind that this answer assumes you are using the latest Google API PHP Library, as of May 26th of 2014.

                  1 - 確保您的應(yīng)用請求的訪問類型是offline.refresh_token 否則不提供.來自 Google:此字段僅在授權(quán)代碼請求中包含 access_type=offline 時才存在.

                  1 - Make sure the access type your app requests is offline. A refresh_token is not provided otherwise. From Google: This field is only present if access_type=offline is included in the authorization code request.

                  $gClient->setAccessType('offline');
                  

                  2 - 在第一次授權(quán)時,保留提供的 refresh_token 以供進(jìn)一步訪問.這可以通過cookies數(shù)據(jù)庫等來完成.我選擇存儲在數(shù)據(jù)庫中:

                  2 - Upon the first authorization, persist the provided refresh_token for further access. This can be done via cookies, database, etc. I chose to store in on a database:

                  $tokens = json_decode($gClient->getAccessToken()); /* Get a JSON object */
                  setRefreshToken($con, $tokens->refresh_token /* Retrieve form JSON object */);
                  

                  3 - 檢查 AccessToken 是否已過期,如果是這種情況,請從 Google 請求刷新的令牌.

                  3 - Check if the AccessToken has expired, and request a refreshed token from Google if such is the case.

                  if ($gClient->isAccessTokenExpired()) {    
                    $refreshToken = getRefreshToken($con, $email); 
                    $gClient->refreshToken($refreshToken);
                  }  
                  

                  其中 getRefreshToken 是從我們的數(shù)據(jù)庫中檢索先前存儲的 refresh_token,然后我們將該值傳遞給客戶端的 refreshToken 方法.

                  Where getRefreshToken is retrieving the previously stored refresh_token from our database, and then we pass that value to the Client's refreshToken method.

                  快速說明:重要的是要記住,如果您之前已授權(quán)您的應(yīng)用程序,您可能不會在響應(yīng)中看到 refresh_token,因為它僅提供我們第一次調(diào)用authenticate.因此,您可以轉(zhuǎn)到 https://www.google.com/settings/security 和撤消對您的應(yīng)用的訪問權(quán)限,或者您可以在創(chuàng)建客戶端對象時添加以下行:

                  Quick Note: It's key to remember that if you had previously authorized your app, you probably won't see a refresh_token on the response, since it is only provided the first time we call authenticate. Therefore, you can either go to https://www.google.com/settings/security and Revoke Access to your app or you can add the following line when creating the Client object:

                  $gClient->setApprovalPrompt('force');
                  

                  來自 Google:如果值為 force,則用戶會看到一個同意頁面,即使他們之前就給定的一組范圍同意了您的應(yīng)用程序.這反過來又確保了 refresh_token 在每次授權(quán)中提供.

                  From Google: If the value is force, then the user sees a consent page even if they previously gave consent to your application for a given set of scopes. Which in turn ensures that a refresh_token is provided on each authorization.

                  完整示例:http://pastebin.com/jA9sBNTk

                  這篇關(guān)于使用 OAuth Refresh Token 獲取新的 Access Token - Google API的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標(biāo)不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術(shù)方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅(qū)動程序)

                    <tfoot id='DxWLF'></tfoot>

                    <small id='DxWLF'></small><noframes id='DxWLF'>

                    1. <i id='DxWLF'><tr id='DxWLF'><dt id='DxWLF'><q id='DxWLF'><span id='DxWLF'><b id='DxWLF'><form id='DxWLF'><ins id='DxWLF'></ins><ul id='DxWLF'></ul><sub id='DxWLF'></sub></form><legend id='DxWLF'></legend><bdo id='DxWLF'><pre id='DxWLF'><center id='DxWLF'></center></pre></bdo></b><th id='DxWLF'></th></span></q></dt></tr></i><div class="kqee2uy" id='DxWLF'><tfoot id='DxWLF'></tfoot><dl id='DxWLF'><fieldset id='DxWLF'></fieldset></dl></div>
                        <bdo id='DxWLF'></bdo><ul id='DxWLF'></ul>

                          <tbody id='DxWLF'></tbody>
                            <legend id='DxWLF'><style id='DxWLF'><dir id='DxWLF'><q id='DxWLF'></q></dir></style></legend>
                          • 主站蜘蛛池模板: 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 长沙广告公司|长沙广告制作设计|长沙led灯箱招牌制作找望城湖南锦蓝广告装饰工程有限公司 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 钢衬玻璃厂家,钢衬玻璃管道 -山东东兴扬防腐设备有限公司 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 等离子空气净化器_医用空气消毒机_空气净化消毒机_中央家用新风系统厂家_利安达官网 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 无痕胶_可移胶_无痕双面胶带_可移无痕胶厂家-东莞凯峰 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 湖南专升本-湖南省专升本报名-湖南统招专升本考试网 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 |