大家好,我正在尝试使用 Laravel Socialite Package 来允许用户使用他们的 LinkedIn 帐户登录。我已经在 ENV 文件中设置了客户端 ID、秘密和 URL,如下所示:
LINKEDIN_CLIENT_ID=xyzSomeID LINKEDIN_CLIENT_SECRET=xyzSomeSecret LINKEDIN_URL=https://mydomainname.com/api/domain-login/linkedin/callback
但是当我尝试使用 LinkedIn 按钮登录时,出现以下错误
Unauthorized scope error scope profile is not authorized for your application LinkedIn Socialite login Laravel
几秒钟后,我被重定向回 URL,并出现以下错误
{"message":"Error occurred","data":"Client error: POST https://www.linkedin.com/oauth/v2/accessToken resulted in a400 错误请求 response:\n{\"error\":\"invalid_request\",\"error_description\":\"A required parameter \\\"code\\\" is missing\"}\n113"}
请注意:已启用使用 OpenID Connect 登录 LinkedIn。
任何这方面的提示都将受到高度赞赏。
我已经设置了运行良好的路线。开发者控制台已经设置并且工作正常。客户端 ID、Secret 和回调 URI 已添加到 ENV 文件中。
这是我的路线:
Route::get('domian-login/{provider}', [ControllerName::class, 'redirectToProvider']); Route::get('domain-login/{provider}/callback', [ControllerName::class, 'handleProviderCallback']); Route::post('domain/save-social-user', [ControllerName::class, 'saveSocialUser']);
我正在使用这些链接link1,link2通过链接在我的Android应用程序中登录.我还在linkedin开发人员上创建了我的应用程序,还提供了oauth 2.0和javascript的链接.通过在link2中运行代码:
final Activity thisActivity = this;
findViewById(R.id.btnLiSignIn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LISessionManager.getInstance(getApplicationContext()).init(thisActivity, buildScope(), new AuthListener() {
@Override
public void onAuthSuccess() {
// Authentication was successful. You can now do
// other calls with the SDK.
Log.d(TAG, "success" + LISessionManager.getInstance(getApplicationContext()).getSession().getAccessToken().toString());
Toast.makeText(getApplicationContext(), "success" + LISessionManager.getInstance(getApplicationContext()).getSession().getAccessToken().toString(), Toast.LENGTH_LONG).show();
}
@Override
public void onAuthError(LIAuthError error) {
// Handle authentication errors
Log.d(TAG, "failed " + error.toString());
Toast.makeText(getApplicationContext(), "failed " + error.toString(), Toast.LENGTH_LONG).show();
}
}, true);
}
}); …Run Code Online (Sandbox Code Playgroud) 我正在实现在linkedin 上的帖子共享,并且我希望在共享帖子时将url og:image 显示在linkedin 上。但即使我已经将正确的 url 添加到 og:image 元标记。分享帖子后,它既没有出现在分享对话中,也没有出现在linkedin上。
这是我用来在linkedin上分享我的帖子的网址:
https://www.linkedin.com/shareArticle?mini=true&url=http://my_website.com:9000/post/40420&title=Test&summary=Description&source=MyWebsite
Run Code Online (Sandbox Code Playgroud) 使用 Postman,我可以查询端点以检索对共享的评论:
https://api.linkedin.com/v2/socialActions/urn:li:share:myshare/comments?count=35
Run Code Online (Sandbox Code Playgroud)
我们有这样的回应
{
"paging": {
"count": 10,
"start": 0
},
"elements": [
{
"actor": "urn:li:person:x",
"created": {
"actor": "urn:li:person:x",
"time": 1472051509000
},
"commentsSummary": {
"totalFirstLevelComments": 2,
"aggregatedTotalComments": 2,
"selectedComments": [
"urn:li:comment:(urn:li:activity:x,x)",
"urn:li:comment:(urn:li:activity:x,x)"
]
},
"id": "x",
"lastModified": {
"actor": "urn:li:person:x",
"time": 1472051509000
},
"message": {
"attributes": [
],
"text": "This is a comment"
},
"object": "urn:li:share:x"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我以为我可以使用如下请求:
https://api.linkedin.com/v2/socialActions/urn:li:share:myshare/comments?count=35&projection=(actor~)
Run Code Online (Sandbox Code Playgroud)
或者可能
https://api.linkedin.com/v2/socialActions/urn:li:share:myshare/comments?count=35&fields=actor,id,message,created,lastModified,object&projection=(actor~)
Run Code Online (Sandbox Code Playgroud)
但是,这些收益都200 OK用{}在身体...笏。
可悲的是,这些文档已经过时了,并且对细节和示例的介绍很少。他们甚至没有提到是否(或如何)将投影和装饰结合起来。
如何将actor信息“装饰”到评论对象中,这样我就不必发出额外的请求来获取它?
我正在尝试从 LinkedIn API 中提取个人帖子的分析数据。看来您可以获得公司帖子的一些有用数据,例如https://api.linkedin.com/v1/companies/[companyid]/historical-status-update-statistics,但关于个人帖子的 API 的文档很少。
(顺便说一句,LinkedIn 应该为他们的 API 缺乏文档而感到羞耻。)
有没有人找到一种方法来提取个人帖子的分析数据(例如展示次数、点击次数、视频观看次数等)?
我正在尝试通过API访问LinkedIn数据(我没有应用程序,我只想访问公司数据-或查看可以访问的内容)。关于此主题,这里还有其他问题,但是大多数问题已过时(使用LinkedIn当前授权流程之前的packagaes)。
我遵循了有关授权的LinkedIn文档:https : //developer.linkedin.com/docs/oauth2
我创建了一个应用程序(因为我没有网站,所以使用了无用的网站网址)。这给了我一个客户ID和客户机密。
我使用了来自LinkedIn(https://github.com/linkedin/api-get-started/blob/master/python/tutorial.py)的(过时的)东西:
import oauth2 as oauth
import urllib.parse as urlparse
consumer_key = 'my client id e.g. sjd6ffdf6262d'
consumer_secret = 'my customer secret e.g. d77373hhfh'
request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken'
access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken'
authorize_url = 'https://api.linkedin.com/uas/oauth/authorize'
consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
resp,content = client.request(request_token_url, "POST")
request_token = dict(urlparse.parse_qsl(content))
clean_request_token = {}
for key in request_token.keys():
clean_request_token[key.decode('ascii')] = request_token[key].decode('ascii')
request_token = clean_request_token
print ("Go to the following link in your browser:")
print ("%s?oauth_token=%s" % (authorize_url, …Run Code Online (Sandbox Code Playgroud) 我正在用他们的 V2 API 替换我们的 LinkedIn V1 API 集成,特别是这里描述的公司页面端点:
我有一个已批准的应用程序和一个具有所有这些范围的令牌: r_ads r_ads_reporting r_basicprofile r_organization_social rw_organization_admin w_member_social w_organization_social w_share
上面列出的所有前几个 v2 端点都可以正常工作(获取公司简介、更新),但是一旦我添加了它们的特定 timeInterval 参数,我就会收到此 403 错误:
Unpermitted fields present in PARAMETER: Data Processing Exception while processing fields [/timeIntervals.timeGranularityType, /timeIntervals.timeRange.end, /timeIntervals.timeRange.start]
Run Code Online (Sandbox Code Playgroud)
403 意味着拒绝访问,但我的令牌肯定包括他们提到的公司页面 API 所需的特定范围。我在这里缺少什么?
具体示例:Headers: Authorization: Bearer XXXXX X-Restli-Protocol-Version: 2.0.0
端点:https : //api.linkedin.com/v2/organizationalEntityShareStatistics? q = organizationalEntity & organizationalEntity = urn%3Ali%3Aorganization%3AXXXXX & timeIntervals.timeGranularityType = DAY & timeIntervals.timeRange.start = 1548892800000.time1Range.start = 1548892800000 &time1Range800000
如果我删除所有 timeInterval 参数它工作正常,但我希望获得我们每月社交报告的历史数据。
我的网站上有一个“分享到 Linkedin”按钮。它基本上只是一个链接,在桌面上运行良好。这是链接:
https://www.linkedin.com/sharing/share-offsite/?url= {我的网址}
但是,这在移动设备上不起作用。如果我尝试在手机 (iOS) 上分享我的网站,它会打开 Linkedin 应用程序,但仅此而已。它不会打开后对话框或任何东西。
我如何才能在移动设备上实现此功能?
我可以通过 API 向 LinkedIn 发帖,并获取返回的帖子的 URN/id,但我不知道如何使用返回的 URN 获取帖子的实际 URL。我在 API 文档中找不到该信息。
我正在从给定的 url 以 JSON 格式获取数据
一切正常,但我没有得到教育方面的回应。
响应样本 -
{
"firstName": "FNAME",
"lastName": "LNNAME",
"emailAddress": "S*******@gmail.com",
"formattedName": "FNAME LNNAME",
"pictureUrl": "https:\/\/media.licdn.com\/mpr\/mprx\/0****",
"positions": {
"_total": 1,
"values": [{
"summary": "J2EE DEVELOPER",
**
**
}
}]
}, "id": "5cNYNt0sTY", "headline": "*** Consultancy", "siteStandardProfileRequest": {
"url": "https:\/\/www.linkedin.com\/profile\/view?id=********"
}
Run Code Online (Sandbox Code Playgroud)