How can I avoid permission-related failures when importing in Photos.app via AppleScript?
Based on this from an old Applescript Release Notes on sandboxing…


  When sending commands to a sandboxed application, such as TextEdit in OS X Mountain Lion, parameters that refer to files must be of an explicit file-like type and not a bare string, or the target application will not be able to access the file. For example, file "Macintosh HD:Users:me:sample.txt", POSIX file "/Users/me/sample.txt", or the result of choose file would all be acceptable, but the string "/Users/me/sample.txt" would not.


&amp; 


  Note: As mentioned under Compatibility above, sandboxed applications will not be able to access files referred to in commands using a string path. Any parameters or properties in your application that refer to files should be declared as type file, and not type text. Apple Event Manager will add sandbox extensions to events that have file-like parameters, but only if the parameter is of a recognized file-like type: typeAlias, typeFileURL, cFile, and so on. Without these extensions, the file will not be accessible from the target application’s sandbox, and the command will probably fail.


It would seem that the 'fix' is to use POSIX file to prevent the sandbox issue

After some hammering at how to make Applescript work with POISIX file of a list, I came up with this…

tweaked

set theList to {"/Volumes/Downloads/ScreenShot.png", "/Volumes/Downloads/ScreenShot2.png", "/Volumes/Downloads/ScreenShot3.png"}
set l to {}
repeat with f in theList
    set l to l &amp; (POSIX file f)
end repeat
tell application "Photos" to import l


It ain't perfect, as every import is a new one, but it works.
Now works in one import.