如何编写一个可以在两个用户之间返回社交"距离"的高效算法.
例如,当您访问LinkedIn上的个人资料时,您可以看到您与用户之间的距离.
- >用户A是用户B的朋友 - B是C的朋友,当A访问C时(距离为1)
图表很大,所以我想知道如何快速执行.
我知道这个问题可能会被关闭,但我认为这是一个编程/算法问题 - 我不会指定任何语言,因为我对这个概念感兴趣.
我正在试图弄清楚如何访问LinkedIn上的任何公司资料.例如,LinkedIn本身的REST端点API是:
https://api.linkedin.com/v1/companies/1337?format=json
Run Code Online (Sandbox Code Playgroud)
样本响应:
{
"id": 1337,
"name": "LinkedIn"
}
Run Code Online (Sandbox Code Playgroud)
但是,在rw_company_admin启用OAuth2进行身份验证后,我的应用会返回:
{
"errorCode": 0,
"message": "Member 206xxxxxx does not have permission to get company 1337",
"requestId": "G6LNMCEZO8",
"status": 403,
"timestamp": 1432358171348
}
Run Code Online (Sandbox Code Playgroud)
这一直持续到最近.
该文档确实注意到 "为了执行下面的任何公司页面管理API调用,提出请求的经过身份验证的LinkedIn用户必须是目标公司的管理员." 令人困惑的是,它还说 "以下终端是唯一可以继续使用的终端......公司API - /v1/companies/{id}".
但是,我的目标不是管理公司作为管理员,而是向用户显示公司的简要输出.我怎样才能获得公司信息?
我正在研究该应用程序允许用户连接到linkedin(使用javascript).我想存储我从IN.ENV.auth.oauth_token获得的访问令牌,因为我将使用它来发布到用户的时间轴.
但是,当我使用此访问令牌发布到Linkedin时,我收到"无效访问令牌"错误.我使用了正确的访问令牌吗?如何获得Access令牌的正确方法?
这是我的代码:
$("#linkedin-connect").on('click',function(e){
e.preventDefault();
IN.UI.Authorize().place();
IN.Event.on(IN, "auth", OnLinkedInAuth);
return false;
});
function OnLinkedInAuth() {
console.debug("oauth token:" + IN.ENV.auth.oauth_token);
}
Run Code Online (Sandbox Code Playgroud)
我有一个andorid应用程序,我正在尝试在其中实现linkedIn登录.LinkedIn SDK已成功集成,我也会收到用户信息以及电子邮件地址.
以下是我的应用程序如何适用于谷歌登录:
1)在移动设备上获取访问令牌
2)向服务器发送带有访问令牌的电子邮件地址
3)通过google的webapi获取具有访问令牌的用户的详细信息.
4)如果响应电子邮件与从移动设备接收的电子邮件匹配,则检查该电子邮件地址是否存在.如果没有创建帐户并登录其他明智的登录.
链接问题:
我收到的访问令牌属于移动sdk,我不能使用相同的令牌来发出REST API请求.(根据文件)
移动与服务器端访问令牌
请务必注意,通过Mobile SDK获取的访问令牌仅可用于Mobile SDK,并且不能用于进行服务器端REST API调用.
同样,您已经从使用服务器端REST API调用进行身份验证的用户存储的访问令牌将无法与Mobile SDK一起使用.
那么如何在我的网络服务器上验证上面提到的步骤3)中的细节?
这是一场灾难吗? 我确信必须有办法做我想做的事情,因为有很多应用程序让他们的用户通过他们的移动应用程序上的linkedin登录.
因为如果它不可能,那么任何人都可以轻松地更改移动应用程序从linkedin接收后发送到网络服务器的电子邮件地址,我可以通过这样做登录我想要的任何电子邮件地址.
我一直在搜索和搜索,但我无法找到如何报告LinkedIn API中的错误.
LinkedIn的开发者网站完全没有提到任何错误.甚至谷歌搜索"如何报告LinkedIn API中的错误"也没有产生任何结果.
LinkedIn的开发人员支持页面说"[工程师]在Stack Overflow上标记为"linkedin"的问题上进行合作." 使用SO报告此错误有两个问题:
如何报告与安全无关的LinkedIn API错误?
当我将此JSON发布到Share API时:
{
"comment": "Here is my comment",
"content": {
"title": "Here is my title",
"description": "Description: The picture will be of a blue and gold macaw",
"submitted-url": "https://en.wikipedia.org/wiki/Macaw",
"submitted-image-url": "http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7pS2VP2wnKyN8wxywmXtY0-FwsgxoJBD4C1qJrqA8EfaP7jL8gZYg0MJlb9NNBxrHhmaSdwF/"
},
"visibility": {
"code": "anyone"
}
}
Run Code Online (Sandbox Code Playgroud)
我在活动中看到了这个:
我没有看到的是描述字段中的内容.我没有写这个原始的集成,但我的项目经理声称LinkedIn UI最初显示这些描述.有什么变化?我们做错了吗?
更新:
我刚才注意到一个类似的问题:
我实际上不确定从SO角度应该做什么,因为我提供了额外的内容,我认为这有助于识别问题.
当我打电话给任何v2 LinkedIn共享API端点,例如https://api.linkedin.com/v2/socialActions/ {share URN}?oauth2_access_token = {access token}时,我收到一条回复"没有足够的权限访问/ socialActions/{target} GET".
我们的应用程序最近获得了营销API的访问权限,这就是我获得r_ad_campaigns权限的方式.该份额API文档没有给出为什么会发生这种错误,或者我可能会错过了什么权限的解释.有没有人能够成功地向此端点或类似/共享端点发出请求?
虽然这似乎是一个错误,但LinkedIn的r_basicprofile API权限仅返回用户的当前位置,而r_fullprofile返回当前和过去的位置.但是今天宣布r_fullprofile需要注册LinkedIn的合作伙伴整合计划,这种差异有一个真正的结果:许多与LinkedIn集成的网站将无法再获得过去的位置.
我的问题是LinkedIn API人员:是否故意不为r_basicprofile请求返回过去的职位?希望不是,希望这可以修复.或者,可以为r_basicprofile启用three_past_positions ...这样可以为我们提供一些帮助.
如果一切按计划进行,并且不会有任何变化,加入合作伙伴计划有多难?您是否预见到许多公司和初创企业能够加入?
谢谢!
今天,我注意到我向LinkedIn公司页面发送股票的所有API调用都返回以下错误:
参数无效:{S_412_PRECONDITION_FAILED =参数无效}
我正在使用XML格式.我尝试将相同的份额分配给LinkedIn帐户,但效果非常好.
这是我的xml请求:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<share>
<comment>Comment</comment>
<content>
<title>title</title>
<description>description</description>
<submitted-url>URL</submitted-url>
<submitted-image-url>IMAGE_URL</submitted-image-url>
</content>
<visibility>
<code>anyone</code>
</visibility>
</share>
Run Code Online (Sandbox Code Playgroud)
LinkedIn API是否有重大变化?
有人可以澄清是否可以以编程方式刷新LinkedIn访问令牌而无需任何用户交互?
https://developer.linkedin.com/support/faq
...刷新访问令牌可以在幕后静默完成,并且不会对用户体验产生影响.
...如果您的应用程序要求您以自动方式进行API调用 - 无需用户交互,则需要通过手动登录来引导第一个访问令牌请求,然后确保您的应用程序在到期前自动刷新令牌以避免需要额外的人工认证.
他们的文档指向"第5步 - 刷新访问权限" https://developer.linkedin.com/docs/oauth2#refresh
在刷新工作流程期间,如果满足以下条件,则会自动跳过流的授权对话框部分,并将用户重定向回您的回调URL,从而使获取刷新的访问令牌成为无缝的幕后用户体验:
用户仍然登录www.linkedin.com
用户的当前访问令牌尚未过期
像泥一样清楚......但从上面看起来它们的"静音"刷新仍然要求用户有一个活跃的会话/登录到LinkedIn.
谢谢!
linkedin ×10
linkedin-api ×6
access-token ×2
api ×2
rest ×2
algorithm ×1
android ×1
javascript ×1
json ×1
oauth ×1
oauth-2.0 ×1
permissions ×1
php ×1
profile ×1
share ×1