1

我試圖使用python gcm發送推送通知給android設備,但在我的服務器中它總是無法驗證,我試圖創建一個帶有服務器IP地址的新服務器API密鑰,試圖Gcm api密鑰在IPV6中驗證失敗

curl --header "Authorization: key =$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"ABC\"]}" 

,但它顯示

<TITLE>Unauthorized</TITLE> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Unauthorized</H1> 
<H2>Error 401</H2> 
</BODY> 
</HTML> 

,但是當我用沒有任何IP指定創建一個新的API密鑰嘗試它的工作,並顯示

{"multicast_id":8030697046624335774,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]} 

所以我無法使用帶有受限IP的api密鑰發送通知,但它在沒有提供任何IP的情況下工作。已知的問題是服務器IP是IPV6,並發現通過IPV6發送GCM時出現問題。任何人都可以幫我解決這個問題嗎?

+0

我最好禁用IPV6來解決這個問題。 –

回答

0

我有同樣的問題,我找到了解決的辦法。

如果您的服務器也有IPV4地址,則解決方案是使用IPV4!
你有捲曲說明插入這個(與你的IPV4地址):

curl_setopt($curlh, CURLOPT_INTERFACE, "xxx.xxx.xxx.xxx");