मुझे पता नहीं लगा कि ओउथ 2.0 के साथ सी 2 डीएम का उपयोग कैसे किया जाए, लेकिन यहां मैंने जो कोशिश की है, वह यहां है। उम्मीद है कि यह किसी को समान समस्या
हल करने के लिए मैं एक संसाधन है कि http://aleksmaus.blogspot.com/2012/01/oauth2-with-google-c2dm-push.html में उपयोगी होगा पाया लेकिन यह जबकि ClientLogin के साथ एक अच्छा काम किया है काम नहीं किया, जब मैं OAuth 2.0 के माध्यम से C2DM साथ संदेश भेजने की कोशिश की मदद कर सकते हैं।
इस तरह मैं कंसोल और वेब ब्राउज़र (मुझे पता है, आप PHP कार्यान्वयन पूछा है लेकिन मुझे आशा है कि यह भी आप के लिए सहायक हो सकता है।)
क्लाइंट प्रवेश के साथ किया था: (सफल)
से प्रमाणीकरण टोकन मिला:
$ curl -k -d "accountType=HOSTED_OR_GOOGLE&service=ac2dm&source=test-1.0&Email=[email account with @gmail.com without brace]&Passwd=[Google account password without brace]" https://www.google.com/accounts/ClientLogin
और इस तरह C2DM संदेश भेजा:
$ curl -k --header "Authorization: GoogleLogin auth=[my ClientLogin auth key without brace]" -d "registration_id=[can be acquired from Android application]" --trace c2dm_trace.txt -d collapse_key=0 https://android.apis.google.com/c2dm/send
फिर अपने आवेदन सफलतापूर्वक प्राप्त C2DM संदेश
OAuth 2.0: (विफल)
एक OAuth 2 मिला है।
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=[can be acquired from API Access menu in your API Console]&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https%3A%2F%2Fandroid.apis.google.com%2Fc2dm&access_type=offline
(Google API कंसोल: https://code.google.com/apis/console/) तक पहुँचने यूआरएल द्वारा वेब ब्राउज़र से 0 प्रमाणन क्रेडेंशियल
और इस तरह भेजा:
$ curl -k -H "Authorization: Bearer [my auth key from oAuth]" --trace curl_trace.txt -d "registration_id=[an be acquired from Android application]" -d "data.message=something to talk" -d collapse_key=0 https://android.apis.google.com/c2dm/send
तब मिला 401 त्रुटि प्रतिक्रिया :(
क्या वहां है कोई भी जो इंगित कर सकता है कि मैंने कुछ गलत किया है?
संपादित
मैं वाक्य पाया है मेल है कि आप गूगल से प्राप्त हो सकता है C2DM रजिस्टर जब में "AC2DM वर्तमान में लैब्स में एक एपीआई है।" और ClientLogin deprecation policy will not apply to versions, features, and functionality labeled as "experimental." मुझे यकीन नहीं है लेकिन मुझे लगता है कि यही कारण है कि हमारे कोड काम नहीं करते थे।
बेशक, मुझे आशा है कि ClientLogin भी पदावनत है और जल्द ही OAuth 2.0
क्या आपने yii ढांचे को देखा है http://www.yiiframework.com/extension/c2dm/ – Suchi
मैं उत्तर के लिए बहुत उत्सुक हूं ... प्रश्न के लिए +1। – drulabs
@ सुची मैं पहले से ही ज़ेंड फ्रेमवर्क का उपयोग कर रहा हूं इसलिए मैं इसके लिए एक और ढांचा नहीं जोड़ना चाहता हूं। हालांकि यह बहुत अच्छा और सरल दिखता है। क्या यह OAuth2.0 का उपयोग करता है? – Doc