2017-04-03 6 views
2

Angular 2アプリでgapiクライアントを正常に実装した後、私のhttpオブジェクトが定義されていないという理由がわかりました。TypeError:未定義の角度2のプロパティ 'http'を読み取ることができません

以下

コードです: コンストラクタ(民間のhttp:HTTP){}

initGmailApi() { 

gapi.auth2.getAuthInstance().grantOfflineAccess().then(function(resp) { 
    console.log(resp); 
    const auth_code = resp.code; 

    const body = {'AuthCode': auth_code}; 
    const headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    this.http.post('http://localhost:8080/startgmail', body, headers).subscribe(
    (Response) => { 
     console.log(Response); 
    } 
    ); 
}); 
} 

基本的に私がやっている何が自分のGmailアカウントにアクセスするためのユーザーからの許可を要求したときに、私は応答Iを持っていますいくつかのデータをバックエンドサーバに渡したいと思っています。

"then"句の外でthis.httpを使用している場合、httpメソッドはうまく動作しますが、これは "auth_code"値が認識されない別の問題を作成します。

私はここで何が欠けていますか?

+0

あなたは機能があります: '関数(それぞれ)'変化しているあなたの 'これはあなたがクラスから期待しているものです。矢印機能を使用します。 – Maxime

答えて

5

は、あなたの代わりに関数を矢印function() {}

使用を使用していない、コールバック内thisを参照する場合:

then((resp) => { 
関連する問題