code: func (dl *downloader) fileAsPhoto(f *drive.File) *photo {
  	if f == nil {
  		return nil
  	}
  	if f.Size == 0 {
  		// anything non-binary can't be a photo, so skip it.
  		return nil
  	}
  	if !inPhotoSpace(f) {
  		// not a photo
  		return nil
  	}
  	p := &photo{
  		ID:               f.Id,
  		Name:             f.Name,
  		Starred:          f.Starred,
  		Version:          f.Version,
  		MimeType:         f.MimeType,
  		Properties:       f.Properties,
  		Description:      f.Description,
  		WebContentLink:   f.WebContentLink,
  		OriginalFilename: f.OriginalFilename,
  	}
  	if f.ImageMediaMetadata != nil {
  		p.FileImageMediaMetadata = *f.ImageMediaMetadata
  	}
  	if f.CreatedTime != "" {
  		p.CreatedTime, _ = time.Parse(time.RFC3339, f.CreatedTime)
  	}
  	if f.ModifiedTime != "" {
  		p.ModifiedTime, _ = time.Parse(time.RFC3339, f.ModifiedTime)
  	}
  
  	return p
  }
docs: // fileAsPhoto returns a photo populated with the information found about f,
  // or nil if f is not actually a photo from Google Photos.
  //
  // The returned photo contains only the metadata;
  // the content of the photo can be downloaded with dl.openPhoto.