我在Angular2中的LinkedIn身份验证方面遇到问题我的代码是.
import {Component , OnInit , NgZone} from 'angular2/core';
import {HTTP_PROVIDERS} from 'angular2/http';
import {ROUTER_DIRECTIVES , Router} from 'angular2/router';
declare var IN : any;
@Component({
directives : [ROUTER_DIRECTIVES],
selector : '.main',
providers : [HTTP_PROVIDERS],
templateUrl : './app/registration/employee.reg.html'
})
export class EmployeeRegistrationComponent implements OnInit{
constructor(private zone : NgZone){
this.zone.run(() => {
$.proxy(this.OnLinkedInFrameworkLoad, this);
});
}
ngOnInit(){
var linkedIn = document.createElement("script");
linkedIn.type = "text/javascript";
linkedIn.src = "http://platform.linkedin.com/in.js";
linkedIn.innerHTML = "\n"+
"api_key: **********\n" +
"authorize: true\n" +
"onLoad:" + this.OnLinkedInFrameworkLoad ;
document.head.appendChild(linkedIn);
var script = document.createElement("script");
script.type = "in/Login";
document.body.appendChild(script);
}
OnLinkedInFrameworkLoad = () => {
IN.Event.on(IN, "auth", this.OnLinkedInAuth);
}
OnLinkedInAuth = () => {
IN.API.Profile("me").result(result => this.ShowProfileData);
}
ShowProfileData(profiles) {
console.log(profiles);
var member = profiles.values[0];
var id=member.id;
var firstName=member.firstName;
var lastName=member.lastName;
var photo=member.pictureUrl;
var headline=member.headline;
//use information captured above
}
}
Run Code Online (Sandbox Code Playgroud)
控制台投掷错误: angular2-polyfills.js:1250 Uncaught Error: Could not execute 'function () {'. Please provide a valid function for callback.
请帮我解决我做错了什么...
小智 1
我通过检查第一个脚本标记中的源代码输出发现了问题。
\n问题是你把:
\n"onLoad:" + this.OnLinkedInFrameworkLoad;\nRun Code Online (Sandbox Code Playgroud)\n它将输出为:
\nonLoad: function () {\xe2\x86\xb5 IN.Event.on(IN, "auth", _this.OnLinkedInAuth);\xe2\x86\xb5 }\nRun Code Online (Sandbox Code Playgroud)\n就像官方开发者文档中所说的那样
\n\n\n重要的!
\n标签内参数之间的换行符很重要,因为没有其他形式的字段分隔符。如果您使用模板语言或代码压缩器从渲染的 HTML 中去除空格,请注意您需要例外以保留此标记内的换行符,否则它们将无法正确解析。
\n
来源: https ://developer.linkedin.com/docs/getting-started-js-sdk
\n我还没有找到如何解决 Angular 2 的 LinkedIn 登录问题,但我会再次尝试其他解决方案
\n| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |