首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对令牌执行https POST请求

对令牌执行https POST请求
EN

Stack Overflow用户
提问于 2013-07-31 21:39:49
回答 1查看 371关注 0票数 0

我正在尝试在Google脚本中执行以下请求。此请求将返回用于访问API的令牌。

代码语言:javascript
复制
POST https://datamarket.accesscontrol.windows.net/v2/OAuth2-13
Content-Type: application/x-www-form-urlencoded

client_id=USERS-CLIENT-ID&client_secret=USERS-SECRET-KEY&grant_type=client_credentials&scope=http%3a%2f%2fapi.microsofttranslator.com%2f

如何在Google脚本中完成上述请求。我正在读这方面的文章,但找不到解决办法。我试过像下面这样的东西,但没成功。我应该用哪种方法?

代码语言:javascript
复制
var oAuthConfig = UrlFetchApp.addOAuthService("bearer");
oAuthConfig.setConsumerKey("USERS-CLIENT-ID");
//some code omitted
//I couldn't figure out where to put grant_type and scope 
var result = UrlFetchApp.fetch("http://api.microsofttranslator.com/v2/Http.svc/Translate?text=hello&from=en&to=ja",options); //gave oAuth error
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-01 04:20:44

addOAuthService实际上只适用于OAuth 1服务。

对于OAuth 2,您需要手动进行POST调用。下面是一个例子

代码语言:javascript
复制
var parameters = {
    method : 'post',
    payload : 'client_id='+CLIENT_ID+'&client_secret='+CLIENT_SECRET+'&grant_type=authorization_code&redirect_uri='+REDIRECT_URL+'&code=' + code
  };

  var response = UrlFetchApp.fetch(TOKEN_URL,parameters).getContentText(); 

您可以在这里看到一个更完整的示例- https://github.com/entaq/GoogleAppsScript/blob/master/IO2013/YouTubeAnalytics/oauth2.gs#L22

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

https://stackoverflow.com/questions/17981478

复制
相关文章

相似问题

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