Working With Public Albums
The CloudikePhotos SDK provides functions for working with public albums.
import CLPhotos from 'web_photos';
let photosApp;
const options = { logLevel: 'error' // 'trace' | 'debug' | 'info' | 'warn' | 'error'};
const config = { authToken: '', // user auth token baseUrl: '', // api base url required userAgent: '' // user agent name required}
try { photosApp = CLPhotos.init(options, config);} catch (e) { // catch photo sdk InternalError}
2 of an Album1#
Get information about a ShareThe following code example demonstrates how to get information about a Share2 by the Album's1 id.
const albumId = 'id';photosApp.publicLink.getAlbumShare(albumId) .then(({data}) => { const shareData = data; // IMyShareSchema })
The following code example demonstrates how to get information about a Share2 by the Album's1 'sharing link'.
const shareLink = 'shareLink';photosApp.publicLink.getAlbumShareByLink(shareLink) .then(({data}) => { const shareData = data; // IMyShareSchema })
#
Create Share for the AlbumThe following code example demonstrates how to create a Share2 for an Album1 by its id.
const albumId = 'id';const shareSettings = {}; // IShareSettingsSchemaphotosApp.publicLink.createAlbumShare(albumId, shareSettings) .then(({data}) => { const shareData = data; // IMyShareSchema })
The following code example demonstrates how to create a Share2 for an Album1 by its 'sharing link'.
const shareLink = 'shareLink';const shareSettings = {}; // IShareSettingsSchemaphotosApp.publicLink.createAlbumShareByLink(shareLink, shareSettings) .then(({data}) => { const shareData = data; // IMyShareSchema })
2 for the Album1#
Update ShareThe following code example demonstrates how to update a Share2 for an Album1 by its id.
const albumId = 'id';const shareSettings = { permission: 'write'}; // IShareSettingsSchemaphotosApp.publicLink.updateAlbumShare(albumId, shareSettings) .then(({data}) => { const shareData = data; // IMyShareSchema })
The following code example demonstrates how to update a Share2 for an Album1 by its 'sharing link'.
const shareLink = 'shareLink';const shareSettings = { permission: 'write'}; //IShareSettingsSchemaphotosApp.publicLink.updateAlbumShareByLink(shareLink, shareSettings) .then(({data}) => { const shareData = data; // IMyShareSchema })
#
Delete Share for the resourceThe following code example demonstrates how to delete a Share2 for an Album1 by its id.
const albumId = 'id';photosApp.publicLink.deleteAlbumShare(albumId) .then(() => { // share is deleted })
The following code example demonstrates how to delete a Share2 for an Album1 by its 'sharing link'.
const shareLink = 'shareLink';photosApp.publicLink.deleteAlbumShareByLink(shareLink) .then(() => { // share is deleted })
#
Get collaboratorsThe following code example demonstrates how to get a list of collaborators4 of User's3 Album1.
const albumId = 'id';const params = {}; // IGetEmbeddedSchemaphotosApp.publicLink.getCollaboratorsForOwnerAlbum(albumId, params) .then(({data}) => { const {_embedded: {collaborators}} = data; })
The following code example demonstrates how to get a list of collaborators4 of any Album1 by the User's3 id and the Album's id.
const userId = 'id';const albumId = 'id';const params = {}; // IGetEmbeddedSchemaphotosApp.publicLink.getCollaboratorsForAlbum(userId, albumId, params) .then(({data}) => { const {_embedded: {collaborators}} = data; })
1#
Add collaborator to the shared AlbumThe following code example demonstrates how to add Collaborator4 for any Album1 by the User's3 id and the Album's id.
const description = 'new Album';const newAlbum = { type: 'simple', description};photosApp.albums.createAlbum(newAlbum) .then(({data}) => { const {_links: {set_share: {href}}} = data; const shareSettings = {access_type: 'collaborators', permission: 'read'}; return photosApp.publicLink.createAlbumShareByLink(href, shareSettings); }) .then(({data}) => { const {_links: {collaborators: {href: collaboratorsLink}}} = data; const newCollaborator = {phone_or_email: 'test@test.com', permission: 'read'}; // ICreateCollaboratorSchema return photosApp.publicLink.addCollaboratorsForAlbum(collaboratorsLink, newCollaborator); });
1#
Get the collaborator's information of the shared AlbumThe following code example demonstrates getting data on a Collaborator4 of an Album1 by the Collaborator's id and Album's id.
const collaboratorId = 'id';const albumId = 'id';photosApp.publicLink.getCollaboratorForAlbum(collaboratorId, albumId) .then(({data}) => { const collaborator = data; // ICollaboratorSchema })
4 for the shared Album1#
Delete the CollaboratorThe following code example demonstrates removing a Collaborator4 FROM an Album1 by the Collaborator's id and Album's id.
const collaboratorId = 'id';const albumId = 'id';photosApp.publicLink.deleteCollaboratorForAlbum(collaboratorId, albumId) .then(() => { // collaborator is deleted })
4 settings#
Update the Collaborator'sThe following code example demonstrates updating the Collaborator's4 settings of an Album1 by the Collaborator's id and the Album's id.
const collaboratorId = 'id';const albumId = 'id';const collaboratorSettings = { permission: 'read'}; // IPatchCollaboratorSchemaphotosApp.publicLink.updateCollaboratorForAlbum(collaboratorId, albumId, collaboratorSettings) .then(() => { // collaborator is deleted })
#
Get shared with user list of albumsThe following code example demonstrates getting a list of albums1 which are shared with an User3.
const params = {}; // IGetSharedWithMeAlbumsSchemaphotosApp.publicLink.getSharedWithMeAlbums(params) .then(({data}) => { const {_embedded: {albums}} = data; // IAlbumsSchema })
The following code example demonstrates getting a list of shared albums of a User3.
const shareId = 'id';photosApp.publicLink.getPublicShare(shareId) .then(({data}) => { const {_links: {not_my_resource: {href: sharedWithMeUrl}}} = data; const accessToken = null; // 'null' only for none protected by password albums return photosApp.publicLink.getSharedWithMeAlbumByLink(sharedWithMeUrl, accessToken); }) .then(({data}) => { const album = data; // IAlbumSchema });
#
Get not owner's shared albumsThe following code example demonstrates getting data of not owner's but shared with owner Album1 by Share's3 id.
const shareId = 'id';photosApp.publicLink.getNotMyAlbumShare(shareId) .then(({data}) => { const notMyShare = data; // INotMyAlbumSchema });
The following code example demonstrates getting data of not owner's but shared with owner Album1 by Share's3 link.
const shareLink = 'shareLink';photosApp.publicLink.getNotMyAlbumShareByLink(shareLink) .then(({data}) => { const notMyShare = data; // INotMyAlbumSchema });
1#
Update not owner's shared AlbumThe following code example demonstrates updating data of not owner's but shared with owner Album1 by Share's3 id.
const shareId = 'id';const options = { description: "new album name"}photosApp.publicLink.updateNotMyAlbumShare(shareId, options) .then(({data}) => { const notMyShare = data; // INotMyAlbumSchema });
The following code example demonstrates updating data of not owner's but shared with the owner’s Album1 by Share's3 link.
const shareLink = 'shareLink';const options = { description: "new album name"}photosApp.publicLink.updateNotMyAlbumShareByLink(shareLink, options) .then(({data}) => { const notMyShare = data; // INotMyAlbumSchema });
1#
Delete not owner's shared AlbumThe following code example demonstrates deleting data of not owner's but shared with owner Album1 by Share's3 id.
const shareId = 'id';photosApp.publicLink.deleteNotMyAlbumShare(shareId) .then(() => { // album is deleted });
The following code example demonstrates deleting data of not owner's but shared with owner Album1 by Share's3 id.
const shareLink = 'shareLink';photosApp.publicLink.deleteNotMyAlbumShareByLink(shareLink) .then(() => { // album is deleted });
2#
Get owner's ShareThe following code example demonstrates getting data of owner's Share2 by Share's id.
const shareId = 'id';photosApp.publicLink.getOwnPublicShare(shareId) .then(({data}) => { const share = data; // IPublicShareSchema });
The following code example demonstrates getting data of a Share2 by share's id.
const shareId = 'id';const accessToken = 'token'; // if share is protected with password it is needed to create access token by 'creatShareAccessToken' methodphotosApp.publicLink.getAnonymousPublicShare(shareId, accessToken) .then(({data}) => { const share = data; // IPublicShareSchema });
The following code example demonstrates getting data of a Share2 by share's id and User's3 id.
const shareId = 'id';const userId = 'id';photosApp.publicLink.getPublicShare(shareId, userId) .then(({data}) => { const share = data; // IPublicShareSchema });
1#
Create access token for getting protected shared AlbumThe following code example demonstrates how to create access token to get data of Share2 by the share’s ID and a password.
const sharedId = 'id';const password = '123456';photosApp.publicLink.creatShareAccessToken(sharedId, password) .then(({data}) => { const {token: accessToken} = data; });
The following code example demonstrates how to create an access token to get data of a Share2 by the token’s link and a password.
const tokenLink = 'tokenLink';const password = '123456';photosApp.publicLink.creatShareAccessTokenByLink(tokenLink, password) .then(({data}) => { const {token: accessToken} = data; });
1#
Get protected by password shared AlbumThe following code example demonstrates getting Share2 data protected by a password by Share's id and an access token for anonymous users.
const shareId = '';const accessToken = 'token'; // if share is protected with password it is needed to create access token by 'creatShareAccessToken' methodphotosApp.publicLink.getPasswordProtectedAnonymousPublicShare(shareId, accessToken) .then(({data}) => { const share = data; // IPublicShareSchema });
The following code example demonstrates getting Share2 data protected by Share's id and an access token for known/or existing users.
const shareId = 'id';const accessToken = 'token'; // if Share is protected with a password it is needed to create an access token by the 'creatShareAccessToken'methodphotosApp.publicLink.getPasswordProtectedOwnPublicShare(shareId, accessToken) .then(({data}) => { const share = data; // IPublicShareSchema });
#
Get not owner's sharesThe following code example demonstrates getting data of not owner's Share2 by Share's2 id.
const shareId = 'id';photosApp.publicLink.getNotMyShare(shareId)then(({data}) => { const share = data; // INotMyShareSchema})