72 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from amazon_photos import AmazonPhotos
 | |
| 
 | |
| ap = AmazonPhotos(
 | |
|     # see cookie examples above
 | |
|     cookies={
 | |
|         'at_main': 'Atza|IwEBIKaTt-nbq8GY6MaHFmoPREguVxq0XCPFIPhqdaXNnWl8ZNSkq7xRHRN7RDKyyWcpRrAj1hu2TyB1dRPAi9VeUO_EihstUpc3ZK5ui1UjpOFo0x50sBeo-hCLZrAWd-UNjSbCBJn4mrZajaaC0S9EnM54W1Pyxg2hITlqqXRDAHrNVCQOQ-Nk5_LiE6jvppTV3uLpe4gahDCsTz1UqFBt42iLe9atrWMAPeJ5JnZm6OsfPL0cLMtTiknkwnkV5l_sk61rbWwITXtALSlJaxfW8k5dwzXD2y7p1OOtMw02bdXX2A',
 | |
|         'csd-key': 'eyJ3YXNtVGVzdGVkIjp0cnVlLCJ3YXNtQ29tcGF0aWJsZSI6dHJ1ZSwid2ViQ3J5cHRvVGVzdGVkIjpmYWxzZSwidiI6MSwia2lkIjoiMzNlNTBlIiwia2V5IjoiTjhqTWFzcGxmYTVINEZjbTQ4QldVa01JNmExaHVGRytrQTlYQ3NBMlR6RU9YcVBpeFh0SnVmYnk1a3pJQmxHSUxkQ0lLaGRNdThiMW5WR0lvVyt3VkxNMENJUXduY1FxSDR4RldPb0lPZXZ6ejIvV0J6dkRLcnRIelAwSGhmVHdHOHpBUU95ZzZXU1VuZldrRVd2UjNrV1hVTVZRNGNGMkV3aWE2emhFMVR5SGUrWUpsWUNHUWc4WEttbURxdFdzTEUxZHNaZ1JIVGxSMGRXbldLT2NRZ0NtQUdOeEpJMDRGQkNuY1VUWnVNaVF3VHV5NHBTK2p4U2t4TGwxckxocjRhcWwrZ2ZONVRMQVJ3Z3BwWWRGMzA3OWQySGZZYno4TFFlZmpWRG42QXdoY3l2aU5DNExDVXZnY1lKbFY5bDUzTU5zZytzZ0dFMkJ0cHVtWXVnK0VnPT0ifQ==',
 | |
|         'csm-hit': 'tb:FWHMXQB2N9YR3XD0WD50+ba-4W9NK8V7MQQX19ZBNQMR-EN10GR0C8995B3TXDBW2|1718721855872&t:1718721855872&adb:adblk_no',
 | |
|         'cwr_s': 'eyJzZXNzaW9uSWQiOiIxOTJhMDBiZC1kMGEyLTRiMjQtOGMwOS03OWUwNWJmMjY4OGUiLCJyZWNvcmQiOnRydWUsImV2ZW50Q291bnQiOjEwMzQsInBhZ2UiOnsicGFnZUlkIjoiL3Bob3Rvcy8iLCJwYXJlbnRQYWdlSWQiOiIvcGhvdG9zL3NldHRpbmdzIiwiaW50ZXJhY3Rpb24iOjM2LCJyZWZlcnJlciI6IiIsInJlZmVycmVyRG9tYWluIjoiIiwic3RhcnQiOjE3MTg3MjE1MjkxMTZ9fQ==',
 | |
|         'cwr_u': '82367c0a-fd6e-41e0-9a57-24eb6a3b4a61',
 | |
|         'i18n-prefs': 'USD',
 | |
|         'JSESSIONID': 'F12B4E4CDFDC2A8F075BD6826B61564A',
 | |
|         'lc-main': 'lc-main',
 | |
|         'sess-at-main': 'QjgIr25GpBkN+U7VP7NiwCpyzU1DaRDRtrZBy6lU9MI=',
 | |
|         'session-id-time': 'session-id-time',
 | |
|         'session-id': '130-2086422-3631604',
 | |
|         'session-token': 'g8YwxNbYOociOxFEOkrsTN/lV2WSoAw6MAPSuswF9NnPd30r4wpLKxOQNMPW8j5sAY0NdD11g7tBXTDQS0rlTe8hIlhOnSgbfPUTtrjKO23zz/vOIKoUL6b6359LwO1ltd0juvuKc5aFPJaxeKUzcFcC5Jxm2kSXyCz7eRJeBluyc061RdSchHWL/5SqB0pC9oDih2uF5HDl6pKecF8YiX2CWytqRxlBVn2Q141fezdJ9kUcHsfL7mZZKfrrmvI2qZFfZa2379HB/mpEI1Cw72WM5RX1SsleBN3JRBaEhBzqAPYb1DVE7+GWiU5BFeA9IgyWNgqHm2MiQr7kBY4pEOivhwnaOzL+VJld3ODy57vKS1wPoDznkD5Ok5HEw0eO',
 | |
|         'sid': 'wZ4+IDpaIn7d2kRmXGxFSg==|r+MfueUTDWes8fZ9LFfeNgIkqxJsXUO3CLKPszvIHaw=',
 | |
|         'sst-main': '1J2N3VvLsFDH97SkezFcBG@3AoVgPcoV',
 | |
|         'sst-main': 'Sst1|PQFFb7JpsYltezg6eBdc_j8HCULqNcosQnd-NG41uUhWywHtQufMARZRg4_phg_UoCqM4_d7QbTbFguppSgCejnToCz80Qy7m-TAqMwJj054wkn9uAg-Pr2nF8rMY9gXh-BVvR1RnF4xZwIP9HihcwQbe21QqMDorsbx-GAMoQzzDskFH4bNcBBNBJnbSq7KoRBEtJiLoNh6-MmPl6L2F8nk38putRVLwReRmMPchaeVfeluTFd2jNu6SYjhUMaSfc3f8ZvGOMaiCsPh1AHRsvXTGpzWxO57usZJP0_4LbCY82A',
 | |
|         'ubid_main': '134-9800184-2401841',
 | |
|     },
 | |
|     # optionally cache all intermediate JSON responses
 | |
|     tmp='tmp',
 | |
|     # pandas options
 | |
|     dtype_backend='pyarrow',
 | |
|     engine='pyarrow',
 | |
|     # cdproxy_override='https://content-na.drive.amazonaws.com/cdproxy/nodes'
 | |
| )
 | |
| 
 | |
| # get current usage stats
 | |
| ap.usage()
 | |
| 
 | |
| # get entire Amazon Photos library
 | |
| nodes = ap.query("type:(PHOTOS OR VIDEOS)")
 | |
| 
 | |
| # query Amazon Photos library with more filters applied
 | |
| nodes = ap.query("type:(PHOTOS OR VIDEOS) AND things:(plant AND beach OR moon) AND timeYear:(2023) AND timeMonth:(8) AND timeDay:(14) AND location:(CAN#BC#Vancouver)")
 | |
| 
 | |
| # sample first 10 nodes
 | |
| node_ids = nodes.id[:10]
 | |
| 
 | |
| # move a batch of images/videos to the trash bin
 | |
| ap.trash(node_ids)
 | |
| 
 | |
| # get trash bin contents
 | |
| ap.trashed()
 | |
| 
 | |
| # permanently delete a batch of images/videos
 | |
| ap.delete(node_ids)
 | |
| 
 | |
| # restore a batch of images/videos from the trash bin
 | |
| ap.restore(node_ids)
 | |
| 
 | |
| # upload media (preserves local directory structure and copies to Amazon Photos root directory)
 | |
| ap.upload('path/to/files')
 | |
| 
 | |
| # download a batch of images/videos
 | |
| ap.download(node_ids)
 | |
| 
 | |
| # convenience method to get photos only
 | |
| ap.photos()
 | |
| 
 | |
| # convenience method to get videos only
 | |
| ap.videos()
 | |
| 
 | |
| # get all identifiers calculated by Amazon.
 | |
| ap.aggregations(category="all")
 | |
| 
 | |
| # get specific identifiers calculated by Amazon.
 | |
| ap.aggregations(category="location")
 |