Проблема с автоматизацией загрузки изображений и создания публикаций в LinkedIn API: недопустимое право собственности наPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с автоматизацией загрузки изображений и создания публикаций в LinkedIn API: недопустимое право собственности на

Сообщение Anonymous »

Я пытаюсь автоматизировать публикацию публикаций на странице моей компании в LinkedIn. В частности, я хочу делиться изображениями с подписями, используя Python. Вот код, который я написал для этой задачи:

Код: Выделить всё

import requests

def upload_image_to_linkedin(image_path, access_token):
url = 'https://api.linkedin.com/v2/assets?action=registerUpload'

headers = {
'Authorization': f'Bearer {access_token}',
'X-Restli-Protocol-Version': '2.0.0',
'Content-Type': 'application/json'
}

# Step 1: Request Upload URL
upload_request_body = {
"registerUploadRequest": {
"owner": f"urn:li:organisation:{organization_id}",
"recipes": ["urn:li:digitalmediaRecipe:feedshare-image"],
"serviceRelationships": [{
"identifier": "urn:li:userGeneratedContent",
"relationshipType": "OWNER"
}]
}
}

response = requests.post(url, headers=headers, json=upload_request_body)
upload_response = response.json()

upload_url = upload_response['value']['uploadMechanism']['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest']['uploadUrl']
asset_urn = upload_response['value']['asset']

# Step 2: Upload the Image
with open(image_path, 'rb') as image_file:
response = requests.put(upload_url, headers={'Authorization': f'Bearer {access_token}'}, data=image_file)

return asset_urn

asset_urn = upload_image_to_linkedin(img, access_token)

# Successfully received the asset_urn and I checked the ownership using https://api.linkedin.com/v2/assets, which works fine.

def create_post(access_token, organization_id, asset_urn, post_text):
url = 'https://api.linkedin.com/v2/ugcPosts'
headers = {
'Authorization': f'Bearer {access_token}',
}

post_data = {
"author": f"urn:li:organization:{organization_id}",
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"media": [
{
"media": asset_urn,
"status": "READY",
"title": {
"attributes": [],
"text": "Sample Image Post"
}
}
],
"shareCommentary": {
"attributes": [],
"text": "Some share text"
},
"shareMediaCategory": "IMAGE"
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
}
}
response = requests.post(url, headers=headers, json=post_data)
return response.json()

post_text = 'Here is an update from our company!'
post_response = create_post(access_token, organization_id, asset_urn, post_text)

print(post_response)
После успешной загрузки изображения и получения assets_urn я попытался создать сообщение, используя конечную точку ugcPosts. Однако я получаю следующую ошибку:

Код: Выделить всё

{
"errorDetailType": "com.linkedin.common.error.BadRequest",
"message": "com.linkedin.content.common.exception.BadRequestResponseException: One or more of the contents is not owned by the author.  All contents must be owned by the author",
"errorDetails": {
"inputErrors": [
{
"description": "Content(s) you provided must be owned by post author",
"input": {},
"code": "INVALID_CONTENT_OWNERSHIP"
}
]
},
"status": 400
}
  • Я проверил право собственности на ресурс с помощью GET /v2/assets


    Я проверил право собственности на актив с помощью GET /v2/assets API, и он возвращает действительную информацию.
  • Я подтвердил, что владелец в запросе на загрузку установлен правильно к идентификатору организации.
  • Я пробовал повторно создаем access_token, но проблема остается.
Вопрос:
Что может быть причиной этой ошибки «INVALID_CONTENT_OWNERSHIP» и как ее исправить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... invalid-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»