2015-05-21 125 views
3

我想用Authorization標頭在Google App腳本中執行來自服務器端代碼的HTTP請求。是否有用於發送HTTP請求的App Script API?

Google Apps腳本中此代碼的等效代碼是什麼?

var api = "URL"; 
$.ajax({ 
     type: 'GET', 
     url: api, 
     contentType: 'application/json', 
     dataType:'json', 
     data: {}, 
     beforeSend: function(xhr) { 
     xhr.setRequestHeader('Authorization', makeBaseAuth('username', 'password')); 
    } 
}); 
+0

jQuery是客戶端代碼。你想從HTML腳本標記或服務器端代碼發出請求嗎? –

+0

從服務器端的代碼,我已經發布了答案,只有等待明天才能接受它。 –

回答

7

您可以使用UrlFetchApp對象發送HTTP請求。它有一個fetch(url, params)方法,該方法返回一個HTTPResponse關於HTTP提取結果的信息。

function testapi(){ 

    var encode = Utilities.base64Encode('username:password', Utilities.Charset.UTF_8); 
    Logger.log(encode); 

    var option = { 
     headers : { 
      Authorization: "Basic "+ encode 
     } 
    } 

    var url = "URL"; 
    var response = UrlFetchApp.fetch(url, option).getContentText() 
    response = JSON.parse(response); 

    for (var key in response){ 
     Logger.log(key); 
    } 
} 
1

您需要使用UrlFetchApp。請參閱official docs

+0

感謝您的回答,但urlFetchApp使用OAuth身份驗證而不是基本身份驗證。 –

+0

沒有。你不必使用oauth。你可以通過任何你想要的標題 –

+0

好吧,我會嘗試它。 –

相關問題