我正在尝试获取刷新令牌。
我在google文档中读到了它。
现在,我正在离线使用访问类型,还使用了roval_prompt:“强制”
但是我没有得到刷新令牌作为回应。
我没有弄错我在做什么。

我有以下html代码:

<input type="submit" class="btn btn-info" value="Google" onclick="authorizeWithGoogle()" />


JavaScript代码:

 var cid = 'XXXXX';
 var apik = 'XXXXX';
 var scopes = 'https://www.google.com/m8/feeds';

 function authorizeWithGoogle() {
     gapi.client.setApiKey(apik);
     gapi.auth.authorize({ client_id: cid, scope: scopes,  accesstype: "offline"   ,approval_prompt: "force"}, handleAuthResult);
 }

 function handleAuthResult(authResult) {
     delete authResult['g-oauth-window'];
 if (authResult && !authResult.error) {
    console.log(JSON.stringify(authResult));
 }
}


你能帮我么。

最佳答案

您不希望请求刷新令牌,因为这会否定OAuth的安全性。刷新令牌仅应在服务器上请求/存储。您可能需要退后一步,并在继续之前查看对OAuth的理解。尝试在不了解OAuth的情况下实现它是一个皮塔饼。

对于浏览器客户端,只要需要新的访问令牌(例如,大约每小时),您就应该简单地继续调用gapi.auth.authorize。第一次调用后,您可以设置immediate=true,它将取消显示任何UI。

10-07 21:13