2016-09-09 16 views
0

アプリケーションのバックエンドでGCMメッセージングを設定しようとしています。Node.jsのGCM要求のメッセージ

バックエンドはNode.jsの

で実行されているこれは、私が使用しているコードは次のとおりです。

var apiKey = "AIz*******"; 
var postData = JSON.stringify({ 
    "notification": { 
     "title": "Hello World" 
    } 
}); 

var options = { 
    host: 'android.googleapis.com', 
    port: 443, 
    path: '/gcm/send', 
    method: 'POST', 
    headers: { 
     'Authorization': 'key=' + apiKey, 
     'Content-Type': 'application/json', 
     'Content-Length': Buffer.byteLength(postData) 
    } 
}; 

var rqst = https.request(options, (response) => { 
var responseBody = ''; 
    response.setEncoding('utf8'); 
    response.on('data', (chunk) => { 
     responseBody += chunk; 
    }); 
    response.on('end',() => { 
     res.send(responseBody) 
    }); 
}); 

rqst.on('error', (e) => { 
    console.log('problem with request: ${e.message}'); 
}); 

rqst.write(postData); 
rqst.end(); 

しかし、私はいつも401答え受け取る:

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

APIキーをGoogleデベロッパーコンソールからのテイクを使用します。

APIマネージャー>資格情報> APIキーGoogle developers console API Manager > Credentials > API key

API Manager > Dashboard

私は何かが足りないのですか?

なぜ私のリクエストが承認されていないのですか?

+0

このAPIを有効にしましたか? – Vyacheslav

+0

それは良い点です。それを有効にする必要があります。プロジェクトのDashboard APIセクションのスクリーンショットを編集して追加します。私は「Google Cloud Messaging」を有効にしています。どういうわけか、ある種の接続/起点を許可するべきでしょうか? – BkdD

+0

NodeJSをWebサーバーとして使用しているので、Noneの代わりにIP Addresses APIキータイプを使用しようとしましたか? – noogui

答えて

1

WebサーバーとしてNodeJSを使用しているため、[なし]の代わりに[IPアドレス] APIキーを使用します。

関連する問題