2016-11-16 10 views
0

ユーザーがLinkedInを使用してログインし、一部のプロファイルデータにアクセス許可を与え、この情報を保持するオブジェクトを返すログイン機能を作成しようとしています。角2 - 認証画面が表示されない

今度はJavascript SDK - Getting Startedの次のアプリを作成しました。そして、2つの異なるオプションを教えてくれるSign In with LinkedIn (Javascript SDK)

最初はIN.User.authorize(callbackFunction, callbackScope)です。これについては、「はじめに」で説明しています。

もう1つは、HTMLに<script type="in/Login"></script>というログインボタンを作成しています。

私は両方を試しました 最初のもの(Getting Started)は認証画面を表示しますが、ブラウザにクッキーを設定するだけで、成功した確認が行われたことがわかります。 (電話IN.User.isAuthorized()trueを返します)。

2番目の問題(LinkedInでログイン)は、ブラウザ(Chrome)にボタンが表示されないため、何もクリックしないことです。ここに私のコードは次のとおりです。(削除APIキーが)

home.html

<ion-header> 
    <ion-navbar> 
    <ion-title> 
     LinkedIN 
    </ion-title> 
    </ion-navbar> 
</ion-header> 

<ion-content padding> 
    <h2> LinkedIn login test </h2> 

    <!-- option 2 -- Sign in with LinkedIn docs --> 
    <script type="in/Login"></script> 

    <!-- option 1 -- check typescript --> 
    <button (click)="authorize()">Linkedin</button> 
</ion-content> 

home.ts

import { Component, OnInit } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 

declare var IN; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage implements OnInit { 
    constructor(public navCtrl: NavController) {} 

    ngOnInit() { 
    IN.Event.on('auth',() => { 
     console.log("authing"); // never printed 
     IN.API.Raw("/people/~").result((data) => { 
     console.log(data); 
     }).error((error) => { 
     console.log(error); 
     }) 
    }); 

    } 

    authorize() { 
    // note: I figured data is an empty object ({}). Nothing returned 
    IN.User.authorize((data) => { 
     console.log("data is "+ JSON.stringify(data)); //[object, Object] 
     console.log("DATA: "+ data.firstName);   //undefined 
     console.log("hl: "+ data.headLine);   //undefined 
    }); 

    console.log("AUTH: "+IN.User.isAuthorized()); //true if succesfull 
    } 

} 

index.htmlを(ちょうど頭 - 他に何も変化しませんデフォルトから)

<head> 
    .... 
    <script src="//platform.linkedin.com/in.js" type="text/javascript"> 
     api_key: 1234apikey5678 
    </script> 
    .... 
</head> 

すでにLinkedInのアプリ(セットコールバック)を登録空のプロジェクトionic start myApp blank --v2 --ts

  • を作成し、イオンとコルドバnpm install -g ionic cordova
  • をインストールしていない場合は

    1. を再現する手順 - クライアントIDをコピーします
    2. 彼らは
  • 答えて

    0

    Apparen上に示したように見えるように、3つのファイルを調整IN.User.authorizeはコールバックにデータを提供しませんが、IN.Raw.apiを呼び出してデータを取得できます。ビット任意の作業tbhが動作します。

    関連する問題