9

Firebase için Bulut İşlevleri'ni kullanarak elma alındı ​​doğrulama sunucusuna çağrı yapmaya çalışıyorum. HTTP çağrısı nasıl yapılır?Firebase için Bulut İşlevlerinde bir HTTP isteği nasıl oluşturulur?

+2

Olası yinelenen çözüldü [node.js ile dış HTTP isteklerini nasıl yapılır] (http://stackoverflow.com/questions/7967037/how-to-make-external-http-requests-with-node-js) –

+1

Yinelenmez, aslında çok iyi bir soru. @Rashid Khan, sorunu çözdünüz mü? benim de ona ihtiyacım var. –

+0

Evet, bu kütüphaneyi kullanıyorum https://github.com/request/request - Yukarıdaki çözümü gönderdim. –

cevap

2

Cevap söz konusu OP'ın düzenlemek kopyalanır


OP bu kullanarak https://github.com/request/request

var jsonObject = { 
    'receipt-data': receiptData, 
    password: functions.config().apple.iappassword 
}; 
var jsonData = JSON.stringify(jsonObject); 
var firebaseRef = '/' + fbRefHelper.getUserPaymentInfo(currentUser); 
let url = "https://sandbox.itunes.apple.com/verifyReceipt"; //or production 
request.post({ 
    headers: { 
    'content-type': 'application/x-www-form-urlencoded' 
    }, 
    url: url, 
    body: jsonData 
}, function(error, response, body) { 
    if (error) { 
    } else { 
    var jsonResponse = JSON.parse(body); 
    if (jsonResponse.status === 0) { 
     console.log('Recipt Valid!'); 
    } else { 
     console.log('Recipt Invalid!.'); 
    } 
    if (jsonResponse.status === 0 && jsonResponse.environment !== 'Sandbox') { 
     console.log('Response is in Production!'); 
    } 
    console.log('Done.'); 
    } 
});