Gadgets API框架不支持OAuth2。但是,Tasks API确实支持OAuth1,因此您仍然可以使事情正常运行。
答案是 - 使用OAuth而不是OAuth 2.0。
OAuth部分应该是:
<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] :
[JS]
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 Tasks API,我们需要一个 API密钥 。