Сценарий oauth для приложений Google не работает с Trello

Я пытался использовать oAuth в скрипте приложений Googleдля доступа к данным Trello, но кажется, что API OAuthService делает некоторые предположения о службе oAuth, и что Trello не работает туда.

Работает следующий код.Он получает доступ к твиттеру (это из руководства Google по oauth):

function authorizeToTwitter() {
  var oauthConfig = UrlFetchApp.addOAuthService("twitter");
  oauthConfig.setAccessTokenUrl("https://api.twitter.com/oauth/access_token");
  oauthConfig.setRequestTokenUrl("https://api.twitter.com/oauth/request_token");
  oauthConfig.setAuthorizationUrl("https://api.twitter.com/oauth/authorize");
  oauthConfig.setConsumerKey();
  oauthConfig.setConsumerSecret();
  var requestData = {
    "method": "GET",
    "oAuthServiceName": "twitter",
    "oAuthUseToken": "always"
  };
  var result = UrlFetchApp.fetch("https://api.twitter.com/1/statuses/mentions.json", requestData);
}

Следующий код приведет меня к странице Trello «нажмите ок, чтобы вернуться», но Trello не знает, как перенаправить обратно, поэтому я получаю страница, которая просит меня вручную скопировать и вставить токен (но google не предоставляет мне метод вставки этого токена)

function authorizeToTrello() {
  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();
  oauthConfig.setConsumerSecret();
  var requestData = {
    "method": "GET",
    "oAuthServiceName": "trello",
    "oAuthUseToken": "always"
  };
  var result = UrlFetchApp.fetch(
      "https://api.trello.com/1/members/me/boards",
      requestData);
}

Я попытался исправить это, вручную добавив обратный вызов перенаправления, который я предоставляю для twitter в авторизации URL

oauthConfig.setAuthorizationUrl("https://trello.com/1/OAuthAuthorizeToken?return_url=https://docs.google.com/macros"); //this is what the tutorial says I should provide to twitter

или

oauthConfig.setAuthorizationUrl("https://trello.com/1/OAuthAuthorizeToken?return_url=https://docs.google.com/macros/externaloauthcallback"); //this is what twitter actually calls when performing the oauth dance

Но оба не работают. Я делаю что-то неправильно? Я пропустил некоторые параметры конфигурации, которые я должен предоставить?

8
задан Jauco 26 April 2012 в 12:26
поделиться