oauth - español - documentacion odoo 11
La secuencia de comandos de Google Apps oauth connect no funciona con trello (1)
Este comportamiento se debió a un error en la API de Trello ; Google intenta proporcionar oauth_callback
cuando recibe su token de autorización, pero Trello no redireccionó allí cuando usted aprueba la solicitud de token.
Este error se resolvió desde entonces y he verificado que el siguiente código funciona:
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");
// Replace these with the values you get from
// https://trello.com/1/appKey/generate
oauthConfig.setConsumerKey("Consumer Key");
oauthConfig.setConsumerSecret("Consumer Secret");
var requestData = {
"method": "GET",
"oAuthServiceName": "trello",
"oAuthUseToken": "always"
};
var result = UrlFetchApp.fetch(
"https://api.trello.com/1/members/me/boards",
requestData);
Logger.log(result.getContentText());
}
He intentado utilizar OAuth en el script de aplicaciones de Google para acceder a los datos de trello, pero parece que la API OAuthService hace algunas suposiciones sobre el servicio oAuth y que trello no funciona de esa manera.
El siguiente código funciona. Obtiene el acceso a Twitter (esto es del tutorial de oauth de google):
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(<CONSUMER KEY>);
oauthConfig.setConsumerSecret(<CONSUMER SECRET>);
var requestData = {
"method": "GET",
"oAuthServiceName": "twitter",
"oAuthUseToken": "always"
};
var result = UrlFetchApp.fetch("https://api.twitter.com/1/statuses/mentions.json", requestData);
}
El siguiente código me llevará a la página "presiona ok para volver" de trello, pero trello no sabe cómo redireccionar, así que llego a una página que me pide que copie manualmente y pegue un token (pero google no lo hace proporcionarme un método para insertar ese token)
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(<CONSUMER KEY>);
oauthConfig.setConsumerSecret(<CONSUMER SECRET>);
var requestData = {
"method": "GET",
"oAuthServiceName": "trello",
"oAuthUseToken": "always"
};
var result = UrlFetchApp.fetch(
"https://api.trello.com/1/members/me/boards",
requestData);
}
Traté de solucionarlo agregando manualmente la devolución de llamada de redirección que brindo a twitter en el URL de autorización
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
o
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
Pero ambos no funcionan. ¿Estoy haciendo algo mal? ¿Me faltan algunos parámetros de configuración que debería proporcionar?