我正在使用 LinkedIn Rest API 202306,并且我正在尝试更新到最新版本。
但是具有以下端点:
我使用投影来检索公司徽标的完整 URL。
// Laravel
$json = Http::withToken(...)
->get("organizations/$id",['projection' => '(logoV2(original~:playableStreams))')
->json();
这适用于202306,但是当您升级到更高版本时。
我收到以下错误:
此端点不允许使用投影参数。
在阅读文档时,LinkedIn 正计划全面淘汰投影的使用。
有人可以建议一个替代解决方案来获取公司徽标的完整 URL 吗?
我已经尝试过其他端点来检索原始公司 URL。
经典投影已从最新版本的 LinkedIn API 中删除,转而采用现场投影。我们找到了使用 LinkedIn Image API 获取图像 url 的解决方案。
您可以使用
fields=
将请求过滤到提供图像 URN 的 logoV2.original
字段。接下来将 digitalmediaAsset
替换为 image
。然后使用修改后的 URN,您可以查询图像 API 来获取下载 URL。见下图:
/rest/organizations
{
"localizedName": "Smart Post App, LLC.",
"logoV2": {
"original": "urn:li:digitalmediaAsset:C560BAQGBzZXn5Schaw"
},
"id": 19205022
}
digitalmediaAsset
中的 logoV2.original
替换为 image
var imageURN = response.logoV2.original;
imageURN = imageURN.Replace("digitalmediaAsset", "image");
imageURN = HttpUtility.UrlEncode(imageURN);
var client = new RestClientWrapper();
var resource = $"https://api.linkedin.com/rest/images/{imageURN}?fields=downloadUrl";
var headers = RestHeaders.GetCommonHeaders(accessToken);
var response = await client.GetAsync<LinkedInImageObject>(resource, headers);
return response?.DownloadUrl;
{
"downloadUrl": "https://media.licdn.com/dms/image/C560BAQGBzZXn5Schaw/company-logo_400_400/0/1676652154924?e=1714003200&v=beta&t=-efWsvFC_0d51teSWBLv3YfF8cUMvhe66hH6XUjIseQ"
}
我们确实必须对图像 URL 请求进行 URL 编码,因为 v2 API 不会接受
:
。