我按照https://developer.android.com/google/gcm/notifications.html#gen-client上的示例尝试从客户端创建通知密钥.
getAccounts()方法确实返回了有效的Google帐户.GoogleAuthUtil.getToken(context,accountname,scope)也返回有效的范围字符串.但是,https ://android.googleapis.com/gcm/googlenotification 上帖子的回复是401,是一个html页面:
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
Logcat显示:10-14 13:26:03.911:W/DefaultRequestDirector(22125):身份验证错误:无法响应任何这些挑战:{}
我仔细检查了ip过滤,它确实显示:IPS允许任何IP.
想知道这是一个已知问题还是有人有任何想法?
仅供参考我可以通过GoogleAuthUtil.getToken获取id_token.这是HTTP POST格式I如下:HTTP POST体:{ "操作": "添加", "notification_key_name": "APPUSER-克里斯", "registration_ids":[ "4"] "id_token": "id_token"}头:content-type:"application/json"标题:"project_id":谢谢!