使用谷歌应用程序和OAuth创建Trello卡



我正在尝试构建一个与Trello集成的Google应用程序脚本,其想法是使用它将电子表格和表单中的信息推送到Trello API,并在某个板上的pending列表上创建卡。

我发现了另一个问题,它为我指明了正确的方向,并在GAS-OAuth文档的基础上添加了OAuth。问题是我不能张贴布告板。我运行了该脚本,OAuth提示符启动,脚本完成时没有任何错误。我也可以从专用板GET数据,所以我认为授权工作正常。

那么,我做错了什么,阻止了我的脚本POST到Trello?

这是我正在使用的代码:

var trelloKey = [Trello API key];
var trelloSecret = [Trello API key secret];
var trelloList = [the id of the list we're posting to];
var oauthConfig = UrlFetchApp.addOAuthService('trello');
    oauthConfig.setAccessTokenUrl('https://trello.com/1/OAuthGetAccessToken');
    oauthConfig.setRequestTokenUrl('https://trello.com/1/OAuthGetRequestToken');
    oauthConfig.setAuthorizationUrl('https://trello.com/1/OAuthAuthorizeToken');
    oauthConfig.setConsumerKey(trelloKey);
    oauthConfig.setConsumerSecret(trelloSecret);
function createTrelloCard() {
  //POST [/1/cards], Required permissions: write
  var payload = {'name': 'apiUploadedCard', 
                 'desc': 'description', 
                 'pos': 'top', 
                 'due': '', 
                 'idList': trelloList};
  var url = 'https://api.trello.com/1/cards'
  var options = {'method' : 'post',
                 'payload' : payload,
                 'oAuthServiceName' : 'trello',
                 'oAuthUseToken' : 'always'};
  UrlFetchApp.fetch(url, options);
}

您只需要设置提取选项contentTypeapplication/json。我刚刚通过这个解决了同样的问题。

尝试在您的授权url中添加scope=read,write

来自:

oauthConfig.setAuthorizationUrl('https://trello.com/1/OAuthAuthorizeToken');

至:

oauthConfig.setAuthorizationUrl("https://trello.com/1/OAuthAuthorizeToken?scope=read,write");

最新更新