TylerK / groupme-gallery-downloader

Download your GroupMe gallery photos. Requires a GroupMe Developer API Token.
MIT License
24 stars 4 forks source link

Add timestamp to picture metadata #4

Closed 0x326 closed 4 years ago

0x326 commented 7 years ago

Is it possible that JPEG picture metadata could contain the upload time of the photos if its original metadata is unavailable?

TylerK commented 7 years ago

@0x326 Unfortunately, it appears as though GroupMe strips all metadata not associated with the file's type and dimensions. Great idea though, I should have looked into this sooner.

TylerK commented 7 years ago

Just for shits and giggles: Here is the response object when looking at the gallery endpoint:

{
  "response": {
    "messages": [
      {
        "attachments": [
          {
            "type": string,
            "url": string
          },
          {
            "loci": [number[]], // Array of arrays of numbers, I have no idea what this maps to
            "type": string,
            "user_ids": string[], // Array of user ID's. No idea what this maps to
          }
        ],
        "avatar_url": string, // URL
        "created_at": number, // Epoch time,
        "favorited_by": string[], // ID's of people who favorited this image
        "gallery_ts": string, // Timestamp,
        "group_id": string,
        "id": string,
        "name": string, // Username of the person who uploaded the image
        "sender_id": string, // ID of the person who uploaded the image
        "sender_type": string,
        "source_guid": string // GUID,
        "system": boolean, // ????
        "text": string, // Message that was sent with the image
        "user_id": string // This is your user ID, not necessarily the person who uploaded the image
      }
    ]
  }
}

There's not much to go on. I could download the items into folders per-username? Or maybe bucket them into weeks or months? But unfortunately all original context of the image is lost, so it will just be folders full of files named 1024x768.jpeg :\

Totally open for suggestions here.

0x326 commented 7 years ago

Would it be possible to store name and created_at properties in the Authors and Date taken fields, respectively, in the metadata of each JPEG image file?

TylerK commented 7 years ago

Editing the actual image metadata may be out of scope of my abilities to get done in any sort of reasonable time frame. That said, I can definitely rename the output file to something like:

[name]_[created_at].[guid?].[ext]

Would that be more useful?

0x326 commented 7 years ago

Could you put the date first and format the date such that an alphabetical sort would display the files in chronological order?

TylerK commented 7 years ago

Sure!

nre226 commented 4 years ago

Hey everyone. I added this in myself when using the library recently. I made a PR to add it to the project should anyone still need it. Should update the modified and accessed date fields, which I imagine will cover most user's use cases.

TylerK commented 4 years ago

This is in and working, thank you @nre226!

0x326 commented 4 years ago

(Linking to #14 for future reference)