icloud-shared-album
v1.2.1
Published
ICloud Shared Album is a library for scraping data off public icloud shared albums. Heavily utilization of [bertrandom/icloud-shared-album-to-flickr](https://github.com/bertrandom/icloud-shared-album-to-flickr), thanks for the great starting point!
Downloads
28
Readme
ICloud Shared Album 📸
ICloud Shared Album is a library for scraping data off public icloud shared albums. Heavily utilization of bertrandom/icloud-shared-album-to-flickr, thanks for the great starting point!
Installation
npm install -s icloud-shared-album
Usage
Apple uses CORS protection for the iCloud library API endpoints. Recommended use is server-side to avoid any CORS related errors.
import { getImages } from 'icloud-shared-album';
const data = await getImages('YOUR_ALBUM_TOKEN');
console.log(data);
You can obtain your ICloud album token from the public URL.
https://www.icloud.com/sharedalbum/#B0z5qAGN1JIFd3y
^^^^^^^^^^^^^^^
The string behind the hash will be your token.
CLI Usage
The CLI will output the data in JSON if successful.
npx icloud-shared-album $TOKEN
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Changelog
Changes in v1.2.1
Fixed a bug caused by Apple redirecting the requests: https://github.com/ghostops/ICloud-Shared-Album/issues/6
Changes in v1.2.0
Duplicate derivatives are now handled with an incrementing index:
derivatives: {
'720': {
checksum: 'string',
fileSize: 1000,
width: 50,
height: 720,
url: 'https://...',
},
'720-1': {
checksum: 'string',
fileSize: 5000,
width: 500,
height: 720,
url: 'https://...',
},
'720-2': {
checksum: 'string',
fileSize: 10000,
width: 5000,
height: 720,
url: 'https://...',
}
}
Breaking changes in v1.1.0
We now return the metadata
associated with an album in addition to an array of images. The response from getImages
now looks like this:
{
metadata: {
streamName: 'string',
userFirstName: 'string',
userLastName: 'string',
streamCtag: 'string',
itemsReturned: 0,
locations: {},
},
photos: [{ ...'same as before' }],
}
Breaking changes in v1.0.0
The bestDerivative
and url
variables have been removed. Instead the variable url
has been added to the Derivative
object. The key to the derivative is the height of the image, just like in the response from ICloud.
Previously:
{
url: 'https://...',
bestDerivative: {
checksum: 'string',
fileSize: 'number',
width: 'number',
height: 'number',
}
}
Now:
{
derivatives: {
'100': {
checksum: 'string',
fileSize: 1000,
width: 50,
height: 100,
url: 'https://...',
},
'1234': {
checksum: 'string',
fileSize: 5000,
width: 500,
height: 1234,
url: 'https://...',
}
}
}