中文链接
By Aaron Lu
After a research, I found location of keynote file is hidden deeply
KeynoteTable.GetKeynoteTable(Document).GetExternalResourceReferences() returns a dictionary, from which we can get object of ExternalResourceReference, then using ExternalResourceReference.InSessionPath we could get its file location.