2014-12-03 3 views
0

Google Apps Script에서 V2.2 StackExchange API를 사용하려고합니다.Google Apps Script에서 StackExchange API 인증

액세스 토큰을 얻기 위해 POST 요청을 보내려고 할 때 명백한 OAuth 2.0 흐름의 마지막 단계에서 문제가 발생합니다. 404 오류가 발생하지만 수동으로 동일한 요청을 만드는 경우 (우편 배달 확장을 사용) 모든 것이 정상입니다.

{ 
    "error": { 
     "type": "invalid_request", 
     "message": "client_id not provided" 
    } 
} 

나는이 될 것 같아요

내가 더 페이로드 (payload)이 POST 요청을 보내는 경우 우편 배달부 내가이 400 수신하는 동안이 같은 404

var response = UrlFetchApp.fetch("https://stackexchange.com/oauth/access_token", { 
    method: 'post', 
    muteHttpExceptions: true 
}); 
Logger.log(response); 

을 받고, 문제를 단순화하기 위해 UrlFetchApp 문제가 있지만 그것을 해결하는 방법을 아는 사람이 있습니까? 감사!

답변

0

문제는 Origin 헤더와 관련이 있습니다.

헤더에서 직접 제거 할 수는 없지만 프록시를 통해 전화를 걸 수 있습니다.

0

통화에 '옵션'개체를 추가하여 게시물에 대한 데이터를 제공해야합니다. 그것은 더 나은 방법이 될 수있다 - https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#addOAuthService(String)를 예를 들면 다음과 같습니다 : Btw는

var options = { "method" : "post", "payload" : payload }; 
UrlFetchApp.fetch("https://stackexchange.com/oauth/access_token", options); 

, 당신은 당신이 URL을 가져올 수는있어의 OAuth를 사용하려고합니다.

+0

감사하지만 동일한 오류가 발생합니다. OAuthConfig는 OAuth2를 사용하는 API와 작동하지 않기 때문에 사용하지 않습니다. [이 라이브러리] (https://github.com/googlesamples/apps-script-oauth2)의 개정판을 사용하지만이 단계에서는 실패합니다. – Gerry

관련 문제