FB.getLoginStatus永远不会以角度2

时间:2017-06-12 13:24:59

标签: javascript facebook angular

我创建了一个Facebook帐户作为开发人员。我的应用程序处于实时模式而不是沙箱模式。我希望当我点击按钮然后Facebook登录程序启动。我刚刚创建了一个函数checkLoginStatus()并在单击按钮时调用它。这是我的代码:

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


declare const FB: any;

@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {

token: any;
loged: boolean = false;
user = { name: 'Hello' };


constructor() {
FB.init({
  appId: {'my-app-id'},
  cookie: true,
  xfbml: true,  //parse social plugins on this page
  version: 'v2.5' //use graph api version 2.5
});
(function (d, s, id, appId) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5&appId=" 
+ appId; //<--passing config value here
  fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk', 'my-app-id'));

}

statusChangeCallback(response: any) {
console.log("login function", response);
if (response.status === 'connected') {
  console.log('connected', response);
} else {
  this.login();
}
}

login() {
FB.login((result: any) => {
  console.log("login function", result);
  this.loged = true;
  this.token = result;
}, { scope: 'user_friends' });
}

me() {
 console.log("me function");
FB.api('/fields=id,name,
first_name,gender,picture.width(150).height(150),age_range,friends',
  function (result) {
    if (result && !result.error) {
      this.user = result;
      console.log(this.user);
    } else {
      console.log(result.error);
    }
  });
 }

 checkLoginStatus() {
 console.log("getLoginStatus");
 FB.getLoginStatus(response => {
  console.log("getLoginStatus", response);
  this.statusChangeCallback(response);
 });
}

ngOnInit() {
}

}

这里是html代码:

<div  class="fb-login-button" data-max-rows="1"  
(click)="checkLoginStatus();" data-size="large" data-button-
type="continue_with">
</div>

当我配置appId时,我在网站URL中提供 本地主机:4200 /

应用已在实时模式下运行,其设置为“应用评论”。我不明白实际发生了什么。

0 个答案:

没有答案
相关问题