2016-07-29 24 views
-1

我正在從AWS網關創建一個JavaScript SDK來調用我的api。我曾嘗試添加多個標題,這是我遇到的文檔和網頁。但我找不到解決方案。我使用Facebook驗證用戶身份,並且我擁有使用python的api。如何解決api網關中的cors問題

AWS.config.region = region'; 
     AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
      IdentityPoolId: identityPoolId , 
      Logins: { 
       'graph.facebook.com':fbTokenId 

      } 
     }); 
AWS.config.credentials.get(function(){ 
      var identityId = AWS.config.credentials.identityId; 
      var accessKeyId = AWS.config.credentials.accessKeyId; 
      var secretAccessKey = AWS.config.credentials.secretAccessKey; 
      var sessionToken = AWS.config.credentials.sessionToken; 
      apigClient = apigClientFactory.newClient({ 
                 accessKey: accessKeyId, 
                 secretKey: secretAccessKey, 
                 sessionToken: sessionToken, 
                 //region: region 
                }); 
apigClient.rootGet({},{},{}) 
       .then(function(result){ 
        // Add success callback code here. 
       console.log("result : "); 
       console.log(result); 
       }).catch(function(result){ 
        // Add error callback code here. 
       console.log(result); 
       }); 

這是我在控制檯中看到的錯誤。 加載資源失敗:服務器響應狀態爲403(禁止) index.html:1 XMLHttpRequest無法加載https://####.us-west-2.amazonaws.com/####/。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許原產地'null'訪問。該響應具有HTTP狀態碼403.感謝提前的幫助。

回答

0

我發現了這個問題。地區不匹配。請使該地區是正確的。

按照文檔: 如果指定的一般端點(elasticmapreduce.amazonaws.com),亞馬遜EMR引導您的要求在默認區域的端點。對於2013年3月8日或之後創建的帳戶,默認區域爲us-west-2;對於舊帳戶,默認區域是us-east-1。