Я использовал Spring social для интеграции с linkedin.
Когда интеграция завершится, мы сохраняем изображение профиля пользователя с URL-адресом ниже:
https://media.licdn.com/dms/image/C5603AQHQ0C7xKhQehg/profile-displayphoto-shrink_100_100/0?e=1527508800&v=alpha&t=vkxX_3Uw7qe8d_9ZSqPwQGpwa6nfUmkzMgEKtMdgf1g
Но этот URL дает ошибку «Отказано в доступе».Есть ли что-то, что мне не хватает?
Это может помочь, согласно https://developer.linkedin.com/docs/ref/v2/media-migration,
The new id will be dynamic and can change from time to time. We recommend retrieving at least once every 60 days to update your media-typed URN.
Это может быть одной из проблем, с которыми вы можете столкнуться.
ВЧтобы это исправить, я сохраняю изображение в тот момент, когда оно поступает в персональное хранилище (AWS S3).
Я посмотрел URL своей фотографии в моем общедоступном профиле, и тот, который был возвращен из API.
URL картинки в XML, возвращенном после ? для параметров v и t имел & ; вместо &:
?
v
t
& ;
&
например https://media.licdn.com/.../profile-displayphoto-shrink_200_200/0?e=152800"&";v=beta"&";t=LJTrw_oj9npH06X1u0HjQ
https://media.licdn.com/.../profile-displayphoto-shrink_200_200/0?e=152800"&";v=beta"&";t=LJTrw_oj9npH06X1u0HjQ
Заменив его на что-то вроде:
pictureURL = pictureURL.replaceAll("& ;","&");
исправилвопрос для меня.Надеюсь, это поможет
Обратите внимание, что между & и ; есть дополнительный пробел.Он бы отформатировал иначе.
&
;