2016-03-10 7 views
9

मेरे पास Google Service Account है जो मेरा ऐप Google Analytics से डेटा पुनर्प्राप्त करने के लिए उपयोग करता है।डिफ़ॉल्ट क्रेडेंशियल्स फ़ाइल के बिना मैं Google सेवा खाते को कैसे अधिकृत कर सकता हूं?

मैं खाता नहीं बनाया है जब मैं OAuth के माध्यम से प्राधिकरण के लिए सभी आवश्यक जानकारी के साथ एक client_secrets फ़ाइल डाउनलोड की है, और मैं प्रति Google's documentation रूप GOOGLE_APPLICATION_CREDENTIALS नामक एक वातावरण चर में इस फ़ाइल का पथ दर्ज की गई।

मैं अब इस तरह एक प्रमाणीकृत ग्राहक प्राप्त कर सकते हैं:

authorization = Google::Auth.get_application_default(scopes) 

इस विधि फ़ाइल है, जो स्थानीय स्तर पर काम करता है से बाहर साख पढ़ता है, लेकिन जहां फ़ाइल भंडारण असंभव है मेरे ऐप Heroku पर होस्ट की है।

The documentation states कि मैं या तो यह फ़ाइल प्रदान कर सकता हूं (नहीं कर सकता), मेरे ऐप को आधिकारिक Google सेवा (नहीं) पर चला सकता है, या एक त्रुटि का अनुभव कर सकता है।

client_secrets फ़ाइल के बिना मैं अपने सेवा खाते को कैसे प्रमाणित कर सकता हूं?

उत्तर

15

मुझे google-auth-library-ruby मणि के source code में उत्तर मिला।

यह पता चला है कि वहाँ एक और विकल्प है कि: client_secrets फ़ाइल से मान लेते हैं और उन्हें क्रमश: GOOGLE_ACCOUNT_TYPE, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_EMAIL और GOOGLE_PRIVATE_KEY नामित वातावरण चर में डाल दिया।

यदि ये चाबियाँ आबादी में हैं, तो क्रेडेंशियल वहां से लोड होंगे। हालांकि, दस्तावेज़ों में इसका एक फुसफुसाहट नहीं है।

संबंधित मुद्दे

 संबंधित मुद्दे