首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小工具OAuth2授权

小工具OAuth2授权
EN

Stack Overflow用户
提问于 2014-08-11 12:01:55
回答 2查看 593关注 0票数 3

我正在开发一个要在内部运行的小工具(html, JS) (Google Calendar page)。我需要在那里显示用户的任务,所以我需要连接到Google Task Api。我需要使用OAuth2授权和这样的请求:

代码语言:javascript
复制
GET https://www.googleapis.com/tasks/v1/users/@me/lists 
GET https://www.googleapis.com/tasks/v1/lists/tasklist/tasks

不幸的是,我拥有t found description or samples for gadgets withOAuth2的授权。

请您告诉我,在这种情况下,OAuth2部分会是什么样子?

代码语言:javascript
复制
 <OAuth2>
   <Service name="[service_name]">
      <Authorization url="https://.../authorize"/>
      <Token url="https://.../oauth2/token"/>
   </Service>
 </OAuth2>

请批准请求的代码好吗?(JS)

代码语言:javascript
复制
 function loadContents(){           
   var url = "https://www.googleapis.com/tasks/v1/users/@me/lists?alt=json";            
   var params = {};
   params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
    params[gadgets.io.RequestParameters.AUTHORIZATION]=gadgets.io.AuthorizationType.OAUTH2;
   params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;     
   params[gadgets.io.RequestParameters.OAUTH_SERVICE_NAME] ="[service_name]";       
   var callback = function (response) { 
     if (response.oauthApprovalUrl) {
       ...                 
     }                      
   };             
   gadgets.io.makeRequest(url, callback, params);
 }                  
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-15 14:11:50

答案是--使用OAuth而不是OAuth 2.0。

OAuth部分应该是:

代码语言:javascript
复制
 <OAuth>
      <Service name="google">
        <Access url="https://www.google.com/accounts/OAuthGetAccessToken" method="GET" /> 
        <Request url="https://www.google.com/accounts/OAuthGetRequestToken?scope=https://www.googleapis.com/auth/tasks" method="GET" /> 
        <Authorization url="https://www.google.com/accounts/OAuthAuthorizeToken?oauth_callback=http://oauth.gmodules.com/gadgets/oauthcallback" /> 
      </Service>
    </OAuth>

请求是[JS]

代码语言:javascript
复制
 var params = {};
 url = "https://www.googleapis.com/tasks/v1/users/@me/lists?key=YOUR_API_KEY";
      params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
      params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.OAUTH;
      params[gadgets.io.RequestParameters.OAUTH_SERVICE_NAME] = "google";
      params[gadgets.io.RequestParameters.OAUTH_USE_TOKEN] = "always";
      params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;

要将OAuth1用于Google,我们需要一个API密钥

票数 1
EN

Stack Overflow用户

发布于 2014-08-14 14:14:43

小工具API框架不支持OAuth2。不过,Tasks确实支持OAuth1,所以您可能仍然能够让事情正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25242816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档