Compare commits
No commits in common. "a7683bba322bcff02cee3acc4b35ff816cba001c" and "06d5dec7e798067bced0bfc600ffd07ade4ee428" have entirely different histories.
a7683bba32
...
06d5dec7e7
168 changed files with 3686 additions and 4309 deletions
|
|
@ -2,6 +2,7 @@ import nodePath from 'node:path';
|
||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import { strict as assert } from "node:assert";
|
import { strict as assert } from "node:assert";
|
||||||
import { ZipFS } from "./zipFs.ts";
|
import { ZipFS } from "./zipFs.ts";
|
||||||
|
import { globSync } from "glob";
|
||||||
import { $, ProcessOutput, quote } from "zx";
|
import { $, ProcessOutput, quote } from "zx";
|
||||||
import { parallel } from "./parallel.ts";
|
import { parallel } from "./parallel.ts";
|
||||||
|
|
||||||
|
|
@ -13,7 +14,6 @@ type FSImpl = {
|
||||||
init?(): Promise<void>;
|
init?(): Promise<void>;
|
||||||
ready?: boolean;
|
ready?: boolean;
|
||||||
|
|
||||||
globSync: typeof fs["globSync"];
|
|
||||||
statSync: typeof fs["statSync"];
|
statSync: typeof fs["statSync"];
|
||||||
existsSync: typeof fs["existsSync"];
|
existsSync: typeof fs["existsSync"];
|
||||||
|
|
||||||
|
|
@ -217,7 +217,10 @@ export class TaskTarget {
|
||||||
/**Get a glob off of the target*/
|
/**Get a glob off of the target*/
|
||||||
glob(globPath: string): TaskTarget[] {
|
glob(globPath: string): TaskTarget[] {
|
||||||
globPath = this._joinPath(globPath);
|
globPath = this._joinPath(globPath);
|
||||||
const items = this.fsImpl.globSync(globPath);
|
const items = globSync(globPath, {
|
||||||
|
cwd: '/DUMMYCWD',
|
||||||
|
fs: this.fsImpl
|
||||||
|
});
|
||||||
const ret = items.map(i => new TaskTarget(i));
|
const ret = items.map(i => new TaskTarget(i));
|
||||||
// TODO: This should probably clone()
|
// TODO: This should probably clone()
|
||||||
ret.forEach(t => t.fsImpl = this.fsImpl); // Should all use the same fsImpl
|
ret.forEach(t => t.fsImpl = this.fsImpl); // Should all use the same fsImpl
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
import { strict as assert } from "node:assert";
|
import { strict as assert } from "node:assert";
|
||||||
|
import fs from "node:fs";
|
||||||
|
import path from "node:path";
|
||||||
import { Readable } from "node:stream";
|
import { Readable } from "node:stream";
|
||||||
import yauzl from "yauzl";
|
import yauzl from "yauzl";
|
||||||
import { globSync } from "glob";
|
|
||||||
|
|
||||||
function removeDummyCwd(path: string) {
|
function removeDummyCwd(path: string) {
|
||||||
if (path.startsWith("/DUMMYCWD/")) {
|
if (path.startsWith("/DUMMYCWD/")) {
|
||||||
|
|
@ -308,16 +309,6 @@ export class ZipFS {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
globSync(globPath: string) {
|
|
||||||
const selfImpl = this.getImpl();
|
|
||||||
return globSync(globPath, {
|
|
||||||
fs: selfImpl as any,
|
|
||||||
// We strip this later, this is so glob() doesn't use the cwd of the current
|
|
||||||
// process, which matches no files inside the .zip file
|
|
||||||
cwd: `/DUMMYCWD`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
getImpl() {
|
getImpl() {
|
||||||
// Because glob uses ...xxx notation to unpack ourselves into a _new_ object
|
// Because glob uses ...xxx notation to unpack ourselves into a _new_ object
|
||||||
// we need to make sure that we DONT use a class, otherwise the properties
|
// we need to make sure that we DONT use a class, otherwise the properties
|
||||||
|
|
@ -328,7 +319,6 @@ export class ZipFS {
|
||||||
init: this.init.bind(this),
|
init: this.init.bind(this),
|
||||||
ready: this.ready,
|
ready: this.ready,
|
||||||
|
|
||||||
globSync: this.globSync.bind(this),
|
|
||||||
statSync: this.statSync.bind(this),
|
statSync: this.statSync.bind(this),
|
||||||
createReadStream: this.createReadStream.bind(this),
|
createReadStream: this.createReadStream.bind(this),
|
||||||
createWriteStream: this.createWriteStream.bind(this),
|
createWriteStream: this.createWriteStream.bind(this),
|
||||||
|
|
|
||||||
12
package.json
12
package.json
|
|
@ -6,9 +6,14 @@
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/task.ts",
|
"test": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/task.ts",
|
||||||
"test-scrub": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/scrub.ts",
|
"test2": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/facebook.ts",
|
||||||
"test-exports": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/data-export.ts",
|
"test-update-snapshots": "node --enable-source-maps --test --experimental-transform-types --no-warnings --test-update-snapshots ./test/facebook.ts",
|
||||||
"test-exports-snapshots": "node --enable-source-maps --test --experimental-transform-types --no-warnings --test-update-snapshots ./test/data-export.ts",
|
"test3": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/discord.ts",
|
||||||
|
"test3-update-snapshots": "node --enable-source-maps --test --experimental-transform-types --no-warnings --test-update-snapshots ./test/discord.ts",
|
||||||
|
"test4": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/discord-chat-exporter.ts",
|
||||||
|
"test4-update-snapshots": "node --enable-source-maps --test --experimental-transform-types --no-warnings --test-update-snapshots ./test/discord-chat-exporter.ts",
|
||||||
|
"test5": "node --enable-source-maps --test --experimental-transform-types --no-warnings ./test/snapchat.ts",
|
||||||
|
"test5-update-snapshots": "node --enable-source-maps --test --experimental-transform-types --no-warnings --test-update-snapshots ./test/snapchat.ts",
|
||||||
"dev": "vite --port 2223",
|
"dev": "vite --port 2223",
|
||||||
"server": "node --experimental-transform-types server/server.ts",
|
"server": "node --experimental-transform-types server/server.ts",
|
||||||
"prototype": "node --import ./util/tsx-loader.js --import ./util/ignore-css-loader.js --experimental-transform-types server/prototype.ts"
|
"prototype": "node --import ./util/tsx-loader.js --import ./util/ignore-css-loader.js --experimental-transform-types server/prototype.ts"
|
||||||
|
|
@ -29,7 +34,6 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^24.1.0",
|
"@types/node": "^24.1.0",
|
||||||
"csv-parse": "^6.1.0",
|
"csv-parse": "^6.1.0",
|
||||||
"csv-stringify": "^6.6.0",
|
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
pnpm-lock.yaml
generated
8
pnpm-lock.yaml
generated
|
|
@ -36,9 +36,6 @@ importers:
|
||||||
csv-parse:
|
csv-parse:
|
||||||
specifier: ^6.1.0
|
specifier: ^6.1.0
|
||||||
version: 6.1.0
|
version: 6.1.0
|
||||||
csv-stringify:
|
|
||||||
specifier: ^6.6.0
|
|
||||||
version: 6.6.0
|
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ^5.9.3
|
specifier: ^5.9.3
|
||||||
version: 5.9.3
|
version: 5.9.3
|
||||||
|
|
@ -68,9 +65,6 @@ packages:
|
||||||
csv-parse@6.1.0:
|
csv-parse@6.1.0:
|
||||||
resolution: {integrity: sha512-CEE+jwpgLn+MmtCpVcPtiCZpVtB6Z2OKPTr34pycYYoL7sxdOkXDdQ4lRiw6ioC0q6BLqhc6cKweCVvral8yhw==}
|
resolution: {integrity: sha512-CEE+jwpgLn+MmtCpVcPtiCZpVtB6Z2OKPTr34pycYYoL7sxdOkXDdQ4lRiw6ioC0q6BLqhc6cKweCVvral8yhw==}
|
||||||
|
|
||||||
csv-stringify@6.6.0:
|
|
||||||
resolution: {integrity: sha512-YW32lKOmIBgbxtu3g5SaiqWNwa/9ISQt2EcgOq0+RAIFufFp9is6tqNnKahqE5kuKvrnYAzs28r+s6pXJR8Vcw==}
|
|
||||||
|
|
||||||
dom-serializer@2.0.0:
|
dom-serializer@2.0.0:
|
||||||
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
|
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
|
||||||
|
|
||||||
|
|
@ -190,8 +184,6 @@ snapshots:
|
||||||
|
|
||||||
csv-parse@6.1.0: {}
|
csv-parse@6.1.0: {}
|
||||||
|
|
||||||
csv-stringify@6.6.0: {}
|
|
||||||
|
|
||||||
dom-serializer@2.0.0:
|
dom-serializer@2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
domelementtype: 2.3.0
|
domelementtype: 2.3.0
|
||||||
|
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
import test from "node:test";
|
|
||||||
import nodePath from "node:path";
|
|
||||||
import { strict as assert } from "node:assert";
|
|
||||||
import { TaskTarget, unzip, pipe } from "../data-export/task.ts";
|
|
||||||
import * as DataIO from "../data-export/io.ts";
|
|
||||||
import { assertCSVWellFormed, idAndCSVsSnapshotOpts } from "./utils/csvUtils.ts";
|
|
||||||
|
|
||||||
import { facebook, facebook_v2 } from "../data-export/facebook.ts";
|
|
||||||
import { discord } from "../data-export/discord.ts";
|
|
||||||
import { snapchat } from "../data-export/snapchat.ts";
|
|
||||||
import { discord_chat_exporter } from "../data-export/discord-chat-exporter.ts";
|
|
||||||
|
|
||||||
const THIS_FILE = import.meta.dirname;
|
|
||||||
const FACEBOOK_V1_DIR = nodePath.join(THIS_FILE, 'fixtures/facebook-json-2021-05-01');
|
|
||||||
const FACEBOOK_V1_ZIPPED = nodePath.join(THIS_FILE, 'fixtures/facebook-json-2021-05-01.zip');
|
|
||||||
const FACEBOOK_V2_DIR = nodePath.join(THIS_FILE, 'fixtures/facebook-json-2025-11-29');
|
|
||||||
const DISCORD_V1_DIR = nodePath.join(THIS_FILE, 'fixtures/discord-json-2021-01');
|
|
||||||
const SNAPCHAT_DIR = nodePath.join(THIS_FILE, 'fixtures/snapchat-2023-11');
|
|
||||||
const DCE_DIR = nodePath.join(THIS_FILE, 'fixtures/discord-chat-exporter-2026-02');
|
|
||||||
|
|
||||||
async function testPipeline(t: test.TestContext, targets: TaskTarget[]) {
|
|
||||||
const out = await DataIO.runPipeline(targets);
|
|
||||||
const idAndCSVs: [string, string][] = [];
|
|
||||||
for (const {target, result} of out) {
|
|
||||||
const id = target.id;
|
|
||||||
// Check the result for success
|
|
||||||
assert.ok(!result.stderr, `Task ${id} should have no stderr output`);
|
|
||||||
assert.ok(result.ok, `Task ${id} should be okay`);
|
|
||||||
// Check the CSV itself for correctness
|
|
||||||
const csv = result.stdout;
|
|
||||||
assertCSVWellFormed(csv, `${csv}\nTask ${id} should have well-formed csv.`);
|
|
||||||
|
|
||||||
idAndCSVs.push([target.id, csv]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Snapshot as it should be unchanged unless we change the method of exporting
|
|
||||||
// directly
|
|
||||||
t.assert.snapshot(...idAndCSVsSnapshotOpts(idAndCSVs));
|
|
||||||
}
|
|
||||||
|
|
||||||
test("facebook: Can load the 2021 export", async (t) => {
|
|
||||||
const targets = [
|
|
||||||
new TaskTarget(FACEBOOK_V1_DIR)
|
|
||||||
]
|
|
||||||
const builtTargets = await facebook()(targets);
|
|
||||||
await testPipeline(t, builtTargets);
|
|
||||||
});
|
|
||||||
test("facebook: Can load the 2021 export zipped", async (t) => {
|
|
||||||
const targets = [
|
|
||||||
new TaskTarget(FACEBOOK_V1_ZIPPED)
|
|
||||||
];
|
|
||||||
const builtTargets = await pipe(unzip(), facebook())(targets);
|
|
||||||
await testPipeline(t, builtTargets);
|
|
||||||
});
|
|
||||||
test("facebook: Can load the 2025 export", async (t) => {
|
|
||||||
const targets = [
|
|
||||||
new TaskTarget(FACEBOOK_V2_DIR)
|
|
||||||
]
|
|
||||||
const builtTargets = await facebook_v2()(targets);
|
|
||||||
await testPipeline(t, builtTargets);
|
|
||||||
});
|
|
||||||
|
|
||||||
test("discord: Can load the 2021 export", async (t) => {
|
|
||||||
const targets = [new TaskTarget(DISCORD_V1_DIR)];
|
|
||||||
const builtTargets = await discord()(targets);
|
|
||||||
await testPipeline(t, builtTargets);
|
|
||||||
});
|
|
||||||
|
|
||||||
test("snapchat: Can load the 2023-11 export", async (t) => {
|
|
||||||
const targets = [new TaskTarget(SNAPCHAT_DIR)];
|
|
||||||
const builtTargets = await snapchat()(targets);
|
|
||||||
await testPipeline(t, builtTargets);
|
|
||||||
});
|
|
||||||
|
|
||||||
test("discord-chat-exporter: Can load the 2026-02 export", async (t) => {
|
|
||||||
const targets = [new TaskTarget(DCE_DIR)];
|
|
||||||
const builtTargets = await discord_chat_exporter()(targets);
|
|
||||||
await testPipeline(t, builtTargets);
|
|
||||||
});
|
|
||||||
|
|
@ -1,696 +0,0 @@
|
||||||
exports[`discord-chat-exporter: Can load the 2026-02 export 1`] = `
|
|
||||||
# === DiscordCE___Messages_0000000000000000 ===
|
|
||||||
"id","timestamp","author","discriminator","content","attachment"
|
|
||||||
"111111111111111111","2020-04-13T10:09:08.000000+00:00","xxxxxxxx","1111","xxxxxxxxxxxxxxxxxx",""
|
|
||||||
"111111111111111111","2020-04-13T10:09:08.000000+00:00","xxxxxxxx","1111","xxxxxxxxx",""
|
|
||||||
"111111111111111111","2020-04-13T10:09:08.000000+00:00","xxxxxxxx","1111","https://example.com/example.png",""
|
|
||||||
"111111111111111111","2020-04-13T10:09:08.000000+00:00","xxxxxxxx","1111","xxx","GuildName - Text Channels - ChannelName [0000000000000000].json_Files/unknown-SUFFIX.png"
|
|
||||||
,# === DiscordCE___Messages_Meta ===
|
|
||||||
id,guild_name,channel_name,channel_type,channel_category,channel_topic,message_count
|
|
||||||
"DiscordCE___Channel_0000000000000000","xxxxxxxx","xxxxxxx","xxxxxxxxxxxxx","xxxxxxxxxxxxx","",111
|
|
||||||
,# === base_data_manager_metadata ===
|
|
||||||
id,perRowDescription,perRowTags,columnMeta,metaId
|
|
||||||
DiscordCE___Messages_0000000000000000,"""{4}"" from {2} at {1}","discord,message","any,isodatetime,sender,any,text,url",DiscordCE___Messages_Meta
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`discord: Can load the 2021 export 1`] = `
|
|
||||||
# === Discord___Activity_Stats ===
|
|
||||||
"application_id","last_played_at","total_duration"
|
|
||||||
"111111111111111111","2020-04-13T10:09:08.000000+00:00",1111
|
|
||||||
"111111111111111111","2020-04-13T10:09:08.000000+00:00",111111
|
|
||||||
,# === Discord___Activity_analytics ===
|
|
||||||
"event_type","timestamp","channel_id","guild_id","message_id","game_name","channel_name","guild_name"
|
|
||||||
"xxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxxxxx","",""
|
|
||||||
"xxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxxxxx","",""
|
|
||||||
,# === Discord___Activity_modeling ===
|
|
||||||
"event_type","timestamp","channel_id","guild_id","message_id","game_name","channel_name","guild_name"
|
|
||||||
"xxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxx","",""
|
|
||||||
"xxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxx","",""
|
|
||||||
,# === Discord___Activity_reporting ===
|
|
||||||
"event_type","timestamp","channel_id","guild_id","message_id","game_name","channel_name","guild_name"
|
|
||||||
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxxxxxxxxxxxxx","",""
|
|
||||||
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxxxxxxxxxxxxx","",""
|
|
||||||
,# === Discord___Activity_tns ===
|
|
||||||
"event_type","timestamp","channel_id","guild_id","message_id","game_name","channel_name","guild_name"
|
|
||||||
"xxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxx","xxxxxxxxxxx"
|
|
||||||
"xxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxx","111111111111111111","111111111111111111","111111111111111111","xxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxx","xxxxxxxxxxx"
|
|
||||||
,# === Discord___Connections ===
|
|
||||||
"type","name","id","verified","visibility"
|
|
||||||
"xxxxxxxxx","xxxxxxxxxxx","xxxxxxxxxxx",false,1
|
|
||||||
"xxxxxxx","xxxxxxxx","xxxxxxxx",false,1
|
|
||||||
,# === Discord___Messages_11111111111111111 ===
|
|
||||||
id,timestamp,content,attachment
|
|
||||||
8888888888,2022-02-22 22:22:22.222222+00:00,Heyo,
|
|
||||||
,# === Discord___Messages_222222222222222222 ===
|
|
||||||
id,timestamp,content,attachment
|
|
||||||
2222222222222,2022-22-22 22:22:22.22222+00:00,Heyo,
|
|
||||||
,# === Discord___Messages_333333333333333333 ===
|
|
||||||
id,timestamp,content,attachment
|
|
||||||
000000000000000005,2011-02-02 02:05:02.000000+00:00,Huh what the heck is this message,
|
|
||||||
000000000000000004,2011-02-02 02:04:02.000000+00:00,<:thonk:000000000000000000><:thonk:000000000000000000><:thonk:000000000000000000>,
|
|
||||||
000000000000000003,2011-02-02 02:03:02.000000+00:00,"(so <@00000000000000000> who are you)",
|
|
||||||
000000000000000002,2011-02-02 02:02:02.000000+00:00,,https://cdn.discordapp.com/attachments/000000000000000000/000000000000000000/image.png
|
|
||||||
000000000000000001,2011-02-02 02:01:02.000000+00:00,https://google.com/whatever,
|
|
||||||
,# === Discord___Messages_Meta ===
|
|
||||||
id,type,name,guild_id,guild_name,recipients
|
|
||||||
"Discord___Channel_333333333333333333",0,"generalchat","333333333333333332","xxx",""
|
|
||||||
"Discord___Channel_222222222222222222",1,"","","","00000000000000000,1111111111111111"
|
|
||||||
"Discord___Channel_11111111111111111",0,"","","",""
|
|
||||||
,# === Discord___Notes ===
|
|
||||||
"user_id","note"
|
|
||||||
"111111111111111111","xxxx"
|
|
||||||
,# === Discord___Payments ===
|
|
||||||
"created_at","description","amount","currency","status"
|
|
||||||
"2020-04-13T10:09:08.000000+00:00","xxxxxxxxxxxxxxxxxxxx",1111,"xxx",1
|
|
||||||
"2020-04-13T10:09:08.000000+00:00","xxxxxxxxxxxxxxxxxxxx",1111,"xxx",1
|
|
||||||
,# === Discord___Relationships ===
|
|
||||||
"username","discriminator","type"
|
|
||||||
"xxxxxxxxxxxx","1111",1
|
|
||||||
"xxxx","1111",1
|
|
||||||
,# === base_data_manager_metadata ===
|
|
||||||
id,perRowDescription,perRowTags,columnMeta,metaId
|
|
||||||
Discord___Messages_333333333333333333,"""{2}"" at {1}","discord,message,content_by_me","any,isodatetime,text,url",Discord___Messages_Meta
|
|
||||||
Discord___Messages_222222222222222222,"""{2}"" at {1}","discord,message,content_by_me","any,isodatetime,text,url",Discord___Messages_Meta
|
|
||||||
Discord___Messages_11111111111111111,"""{2}"" at {1}","discord,message,content_by_me","any,isodatetime,text,url",Discord___Messages_Meta
|
|
||||||
Discord___Connections,"{0} account ""{1}""",discord,"text,text,any,any,any",
|
|
||||||
Discord___Relationships,{0}#{1} (relationship type {2}),discord,"text,any,any",
|
|
||||||
Discord___Payments,{1}: {2} {3} on {0},"discord,payment","isodatetime,text,numeric,text,any",
|
|
||||||
Discord___Activity_Stats,"App {0}: {2}s played, last at {1}",discord,"any,isodatetime,numeric",
|
|
||||||
Discord___Notes,"Note on {0}: ""{1}""",discord,"any,text",
|
|
||||||
Discord___Activity_tns,{0} at {1},"discord,activity","text,isodatetime,any,any,any,text,text,text",
|
|
||||||
Discord___Activity_reporting,{0} at {1},"discord,activity","text,isodatetime,any,any,any,text,text,text",
|
|
||||||
Discord___Activity_modeling,{0} at {1},"discord,activity","text,isodatetime,any,any,any,text,text,text",
|
|
||||||
Discord___Activity_analytics,{0} at {1},"discord,activity","text,isodatetime,any,any,any,text,text,text",
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`facebook: Can load the 2021 export 1`] = `
|
|
||||||
# === Facebook___Album_0_json ===
|
|
||||||
"album","uri","creation_timestamp"
|
|
||||||
"xxx","photos_and_videos/CoverPhotos_yyyyyy/200x200png.png","2024-03-07T15:23:20Z"
|
|
||||||
"xxx","photos_and_videos/CoverPhotos_yyyyyy/200x200png.png","2024-07-01T07:46:40Z"
|
|
||||||
,# === Facebook___Dating_Messages_0_json ===
|
|
||||||
"from","to","timestamp","body"
|
|
||||||
"Me","xxx","2024-01-13T07:13:20Z","xxx"
|
|
||||||
"Me","xxx","2024-01-13T07:13:20Z","xxx"
|
|
||||||
,# === Facebook___Messages_Meta ===
|
|
||||||
id,title,is_still_participant,thread_type,thread_path,participants
|
|
||||||
"Facebook___Messages_randomuser4_xxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
"Facebook___Messages_randomuser3_xxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
"Facebook___Messages_randomuser2_xxxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
"Facebook___Messages_randomuser_xxxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
,# === Facebook___Messages_randomuser2_xxxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___Messages_randomuser3_xxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___Messages_randomuser4_xxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___Messages_randomuser_xxxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___account_activity_json ===
|
|
||||||
"action","ip","user_agent","datr_cookie","city","region","country","site_name","timestamp"
|
|
||||||
"xxx","1.1.1.1","some/path","xxx","xxx","xxx","xxx","xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","1.1.1.1","some/path","xxx","xxx","xxx","xxx","xxx","2024-05-01T07:53:20Z"
|
|
||||||
,# === Facebook___account_status_changes_json ===
|
|
||||||
"status","timestamp"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","2024-02-13T14:36:40Z"
|
|
||||||
,# === Facebook___accounts_and_profiles_json ===
|
|
||||||
"service_name","native_app_id","username","email","phone_number","name"
|
|
||||||
"xxx",69,"xxx","not_a_real_email@example.com","xxx","xxx"
|
|
||||||
"xxx",1707005000,"xxx","not_a_real_email@example.com",,"xxx"
|
|
||||||
,# === Facebook___administrative_records_json ===
|
|
||||||
"event","created_timestamp","ip_address","user_agent","datr_cookie"
|
|
||||||
"xxx","2024-05-01T07:53:20Z",,,
|
|
||||||
"xxx","2024-02-13T14:36:40Z",,,
|
|
||||||
,# === Facebook___apps_and_websites_json ===
|
|
||||||
"name","added_timestamp"
|
|
||||||
"xxx","2024-12-29T08:13:20Z"
|
|
||||||
"xxx","2024-09-02T12:26:40Z"
|
|
||||||
,# === Facebook___authorized_logins_json ===
|
|
||||||
"name","created_timestamp","updated_timestamp","ip_address","user_agent","location","app","session_type","datr_cookie"
|
|
||||||
"xxx","2024-08-22T01:26:40Z","2024-05-11T15:06:40Z","1.1.1.1","some/path","","","","xxx"
|
|
||||||
,# === Facebook___comments_json ===
|
|
||||||
"timestamp","data","title"
|
|
||||||
"2024-02-08T19:20:00Z","TODO","xxx"
|
|
||||||
"2024-01-17T14:00:00Z","TODO","xxx"
|
|
||||||
,# === Facebook___contact_verifications_json ===
|
|
||||||
"timestamp","email","contact_type"
|
|
||||||
"2024-10-18T07:03:20Z","not_a_real_email@example.com",69
|
|
||||||
"2024-01-21T22:10:00Z","not_a_real_email@example.com",69
|
|
||||||
,# === Facebook___followers_json ===
|
|
||||||
"name"
|
|
||||||
"xxx"
|
|
||||||
"xxx"
|
|
||||||
,# === Facebook___following_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
,# === Facebook___friends_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-02-13T13:13:20Z"
|
|
||||||
"xxx","2024-10-31T00:36:40Z"
|
|
||||||
,# === Facebook___instant_games_json ===
|
|
||||||
"game","added_timestamp"
|
|
||||||
"xxx","2024-11-03T16:06:40Z"
|
|
||||||
,# === Facebook___items_sold_json ===
|
|
||||||
"title","price","seller","created_timestamp","latitude","longitude","description"
|
|
||||||
"xxx","xxx","xxx","2024-12-18T05:33:20Z",69,69,"xxx"
|
|
||||||
"xxx","xxx","xxx","2024-12-18T05:33:20Z",69,69,"xxx"
|
|
||||||
,# === Facebook___logins_and_logouts_json ===
|
|
||||||
"action","timestamp","site","ip_address"
|
|
||||||
"xxx","2024-05-01T07:53:20Z","xxx","1.1.1.1"
|
|
||||||
"xxx","2024-04-23T17:56:40Z","xxx","1.1.1.1"
|
|
||||||
,# === Facebook___notifications_json ===
|
|
||||||
"timestamp","unread","href","text"
|
|
||||||
"2024-04-30T08:16:40Z",true,"url://somewhere","xxx"
|
|
||||||
"2024-04-30T08:16:40Z",true,"url://somewhere","xxx"
|
|
||||||
,# === Facebook___pages_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
,# === Facebook___payment_history_json ===
|
|
||||||
"from","to","amount","currency","type","status","payment_method","created_timestamp"
|
|
||||||
"xxx","xxx","xxx","xxx","xxx","xxx","xxx","2024-05-05T21:36:40Z"
|
|
||||||
,# === Facebook___people_json ===
|
|
||||||
"name","uri","timestamp"
|
|
||||||
"xxx","url://somewhere","2024-01-15T12:00:00Z"
|
|
||||||
"xxx","url://somewhere","2024-01-12T06:13:20Z"
|
|
||||||
,# === Facebook___pokes_json ===
|
|
||||||
"from","to","rank","timestamp"
|
|
||||||
"xxx","xxx",69,"2024-07-22T19:03:20Z"
|
|
||||||
,# === Facebook___posts_and_comments_json ===
|
|
||||||
"title","timestamp","reaction"
|
|
||||||
,"2024-01-14T06:50:00Z","xxx"
|
|
||||||
,"2024-01-14T06:50:00Z","xxx"
|
|
||||||
,# === Facebook___profile_update_history_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
,"2024-10-06T08:56:40Z"
|
|
||||||
,"2024-10-06T08:56:40Z"
|
|
||||||
,# === Facebook___received_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-02-08T16:33:20Z"
|
|
||||||
"xxx","2024-09-24T19:10:00Z"
|
|
||||||
,# === Facebook___rejected_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-09-27T15:13:20Z"
|
|
||||||
"xxx","2024-08-24T00:40:00Z"
|
|
||||||
,# === Facebook___removed_friends_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
,# === Facebook___sent_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-06-23T05:20:00Z"
|
|
||||||
"xxx","2024-05-25T08:16:40Z"
|
|
||||||
,# === Facebook___story_reactions_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
"xxx","2024-04-28T20:10:00Z"
|
|
||||||
,# === Facebook___support_correspondences_json ===
|
|
||||||
"from","to","subject","message","timestamp"
|
|
||||||
"not_a_real_email@example.com","xxx","xxx","xxx","2024-10-16T06:26:40Z"
|
|
||||||
"xxx","xxx","xxx","url://somewhere","2024-10-16T06:26:40Z"
|
|
||||||
,# === Facebook___unfollowed_pages_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-12-17T08:43:20Z"
|
|
||||||
,# === Facebook___your_group_membership_activity_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
,# === Facebook___your_off_facebook_activity_json ===
|
|
||||||
"name","id","type","timestamp"
|
|
||||||
"xxx",69,"xxx","2024-02-11T12:36:40Z"
|
|
||||||
"xxx",69,"xxx","2024-02-10T19:56:40Z"
|
|
||||||
"xxx",69,"xxx","2024-02-10T11:36:40Z"
|
|
||||||
"xxx",69,"xxx","2024-02-07T21:06:40Z"
|
|
||||||
,# === Facebook___your_pinned_posts_json ===
|
|
||||||
"name","uri","timestamp"
|
|
||||||
"xxx","url://somewhere","2024-02-27T05:00:00Z"
|
|
||||||
"xxx","url://somewhere","2024-05-16T03:26:40Z"
|
|
||||||
,# === Facebook___your_posts_1_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","TODO: data","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","TODO: data","2024-10-31T06:10:00Z"
|
|
||||||
,# === Facebook___your_posts_and_comments_in_groups_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","TODO","2024-02-08T19:20:00Z"
|
|
||||||
"xxx","TODO","2024-02-08T19:20:00Z"
|
|
||||||
,# === Facebook___your_search_history_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","xxx","2024-11-17T06:30:00Z"
|
|
||||||
"xxx","xxx","2024-11-17T06:30:00Z"
|
|
||||||
,# === base_data_manager_metadata ===
|
|
||||||
id,perRowDescription,perRowTags,columnMeta,metaId
|
|
||||||
Facebook___notifications_json,"Notification at {0}: ""{3}""","facebook,initiated_by_third_party","isodatetime,any,url,text",
|
|
||||||
Facebook___accounts_and_profiles_json,"{0} account ""{2}""",facebook,"text,text,text,text,text,text",
|
|
||||||
Facebook___your_off_facebook_activity_json,{2} event from {0} at {3},facebook,"text,any,text,isodatetime",
|
|
||||||
Facebook___apps_and_websites_json,"App ""{0}"" added on {1}",facebook,"text,isodatetime",
|
|
||||||
Facebook___comments_json,"Comment on ""{2}"" at {0}",facebook,"isodatetime,TODO,text",
|
|
||||||
Facebook___Dating_Messages_0_json,"""{3}"" from {0} to {1} at {2}","facebook,message,dating,content_by_me","sender,receiver,isodatetime,text",
|
|
||||||
Facebook___instant_games_json,"Played ""{0}"" starting {1}","facebook,gaming","text,isodatetime",
|
|
||||||
Facebook___unfollowed_pages_json,"Unfollowed ""{0}"" at {1}","facebook,initiated_by_me","text,isodatetime",
|
|
||||||
Facebook___following_json,"Followed ""{0}"" at {1}",facebook,"receiver,isodatetime",
|
|
||||||
Facebook___followers_json,{0} follows you,facebook,sender,
|
|
||||||
Facebook___sent_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___removed_friends_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___rejected_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___received_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___friends_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___your_group_membership_activity_json,"Joined group ""{0}"" at {1}","facebook,initiated_by_me","text,isodatetime",
|
|
||||||
Facebook___your_posts_and_comments_in_groups_json,"Group post ""{0}"" at {2}",facebook,"text,TODO,isodatetime",
|
|
||||||
Facebook___people_json,Interaction with {0} at {2},facebook,"text,url,isodatetime",
|
|
||||||
Facebook___pages_json,"Liked page ""{0}"" at {1}",facebook,"text,isodatetime",
|
|
||||||
Facebook___posts_and_comments_json,"{2} on ""{0}"" at {1}",facebook,"text,isodatetime,text",
|
|
||||||
Facebook___items_sold_json,"Sold ""{0}"" for {1} on {3}","facebook,marketplace","text,numeric,sender,isodatetime,lat,lng,text",
|
|
||||||
Facebook___Messages_randomuser4_xxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___Messages_randomuser3_xxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___Messages_randomuser2_xxxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___Messages_randomuser_xxxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___pokes_json,{0} poked {1} at {3},facebook,"sender,receiver,numeric,isodatetime",
|
|
||||||
Facebook___support_correspondences_json,"""{2}"" from {0} to {1} at {4}",facebook,"sender,receiver,text,text,isodatetime",
|
|
||||||
Facebook___payment_history_json,{2} {3} from {0} to {1} on {7},"facebook,payment","sender,receiver,numeric,text,text,text,text,isodatetime",
|
|
||||||
Facebook___Album_0_json,"Photo in ""{0}"" at {2}","facebook,photo","text,url,isodatetime",
|
|
||||||
Facebook___your_pinned_posts_json,"Pinned post ""{0}"" at {2}",facebook,"text,url,isodatetime",
|
|
||||||
Facebook___your_posts_1_json,"Post ""{0}"" at {2}",facebook,"text,TODO,isodatetime",
|
|
||||||
Facebook___profile_update_history_json,"Profile update ""{0}"" at {1}",facebook,"text,isodatetime",
|
|
||||||
Facebook___your_search_history_json,"Searched for ""{1}"" at {2}","facebook,initiated_by_me,content_by_me","text,text,isodatetime",
|
|
||||||
Facebook___account_status_changes_json,Account {0} at {1},"facebook,security","text,isodatetime",
|
|
||||||
Facebook___account_activity_json,"{0} from {4}, {6} on {8}","facebook,security","text,text,text,text,text,text,text,text,isodatetime",
|
|
||||||
Facebook___administrative_records_json,{0} at {1} from {2},"facebook,security","text,isodatetime,text,text,text",
|
|
||||||
Facebook___authorized_logins_json,"Session ""{0}"" from {5} on {1}","facebook,security","text,isodatetime,isodatetime,text,text,text,text,text,text",
|
|
||||||
Facebook___contact_verifications_json,{2} verification of {1} at {0},"facebook,security","isodatetime,text,text",
|
|
||||||
Facebook___logins_and_logouts_json,{0} on {2} at {1} from {3},"facebook,security","text,isodatetime,text,text",
|
|
||||||
Facebook___story_reactions_json,"Story reaction on ""{0}"" at {1}",facebook,"text,isodatetime",
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`facebook: Can load the 2021 export zipped 1`] = `
|
|
||||||
# === Facebook___Album_0_json ===
|
|
||||||
"album","uri","creation_timestamp"
|
|
||||||
"xxx","photos_and_videos/CoverPhotos_yyyyyy/200x200png.png","2024-03-07T15:23:20Z"
|
|
||||||
"xxx","photos_and_videos/CoverPhotos_yyyyyy/200x200png.png","2024-07-01T07:46:40Z"
|
|
||||||
,# === Facebook___Dating_Messages_0_json ===
|
|
||||||
"from","to","timestamp","body"
|
|
||||||
"Me","xxx","2024-01-13T07:13:20Z","xxx"
|
|
||||||
"Me","xxx","2024-01-13T07:13:20Z","xxx"
|
|
||||||
,# === Facebook___Messages_Meta ===
|
|
||||||
id,title,is_still_participant,thread_type,thread_path,participants
|
|
||||||
"Facebook___Messages_randomuser4_xxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
"Facebook___Messages_randomuser3_xxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
"Facebook___Messages_randomuser2_xxxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
"Facebook___Messages_randomuser_xxxxxxxx___message_1_json","xxx",true,"xxx","some/path","xxx, xxx"
|
|
||||||
,# === Facebook___Messages_randomuser2_xxxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___Messages_randomuser3_xxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___Messages_randomuser4_xxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___Messages_randomuser_xxxxxxxx___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebook___account_activity_json ===
|
|
||||||
"action","ip","user_agent","datr_cookie","city","region","country","site_name","timestamp"
|
|
||||||
"xxx","1.1.1.1","some/path","xxx","xxx","xxx","xxx","xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","1.1.1.1","some/path","xxx","xxx","xxx","xxx","xxx","2024-05-01T07:53:20Z"
|
|
||||||
,# === Facebook___account_status_changes_json ===
|
|
||||||
"status","timestamp"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","2024-02-13T14:36:40Z"
|
|
||||||
,# === Facebook___accounts_and_profiles_json ===
|
|
||||||
"service_name","native_app_id","username","email","phone_number","name"
|
|
||||||
"xxx",69,"xxx","not_a_real_email@example.com","xxx","xxx"
|
|
||||||
"xxx",1707005000,"xxx","not_a_real_email@example.com",,"xxx"
|
|
||||||
,# === Facebook___administrative_records_json ===
|
|
||||||
"event","created_timestamp","ip_address","user_agent","datr_cookie"
|
|
||||||
"xxx","2024-05-01T07:53:20Z",,,
|
|
||||||
"xxx","2024-02-13T14:36:40Z",,,
|
|
||||||
,# === Facebook___apps_and_websites_json ===
|
|
||||||
"name","added_timestamp"
|
|
||||||
"xxx","2024-12-29T08:13:20Z"
|
|
||||||
"xxx","2024-09-02T12:26:40Z"
|
|
||||||
,# === Facebook___authorized_logins_json ===
|
|
||||||
"name","created_timestamp","updated_timestamp","ip_address","user_agent","location","app","session_type","datr_cookie"
|
|
||||||
"xxx","2024-08-22T01:26:40Z","2024-05-11T15:06:40Z","1.1.1.1","some/path","","","","xxx"
|
|
||||||
,# === Facebook___comments_json ===
|
|
||||||
"timestamp","data","title"
|
|
||||||
"2024-02-08T19:20:00Z","TODO","xxx"
|
|
||||||
"2024-01-17T14:00:00Z","TODO","xxx"
|
|
||||||
,# === Facebook___contact_verifications_json ===
|
|
||||||
"timestamp","email","contact_type"
|
|
||||||
"2024-10-18T07:03:20Z","not_a_real_email@example.com",69
|
|
||||||
"2024-01-21T22:10:00Z","not_a_real_email@example.com",69
|
|
||||||
,# === Facebook___followers_json ===
|
|
||||||
"name"
|
|
||||||
"xxx"
|
|
||||||
"xxx"
|
|
||||||
,# === Facebook___following_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
,# === Facebook___friends_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-02-13T13:13:20Z"
|
|
||||||
"xxx","2024-10-31T00:36:40Z"
|
|
||||||
,# === Facebook___instant_games_json ===
|
|
||||||
"game","added_timestamp"
|
|
||||||
"xxx","2024-11-03T16:06:40Z"
|
|
||||||
,# === Facebook___items_sold_json ===
|
|
||||||
"title","price","seller","created_timestamp","latitude","longitude","description"
|
|
||||||
"xxx","xxx","xxx","2024-12-18T05:33:20Z",69,69,"xxx"
|
|
||||||
"xxx","xxx","xxx","2024-12-18T05:33:20Z",69,69,"xxx"
|
|
||||||
,# === Facebook___logins_and_logouts_json ===
|
|
||||||
"action","timestamp","site","ip_address"
|
|
||||||
"xxx","2024-05-01T07:53:20Z","xxx","1.1.1.1"
|
|
||||||
"xxx","2024-04-23T17:56:40Z","xxx","1.1.1.1"
|
|
||||||
,# === Facebook___notifications_json ===
|
|
||||||
"timestamp","unread","href","text"
|
|
||||||
"2024-04-30T08:16:40Z",true,"url://somewhere","xxx"
|
|
||||||
"2024-04-30T08:16:40Z",true,"url://somewhere","xxx"
|
|
||||||
,# === Facebook___pages_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","2024-05-01T07:53:20Z"
|
|
||||||
,# === Facebook___payment_history_json ===
|
|
||||||
"from","to","amount","currency","type","status","payment_method","created_timestamp"
|
|
||||||
"xxx","xxx","xxx","xxx","xxx","xxx","xxx","2024-05-05T21:36:40Z"
|
|
||||||
,# === Facebook___people_json ===
|
|
||||||
"name","uri","timestamp"
|
|
||||||
"xxx","url://somewhere","2024-01-15T12:00:00Z"
|
|
||||||
"xxx","url://somewhere","2024-01-12T06:13:20Z"
|
|
||||||
,# === Facebook___pokes_json ===
|
|
||||||
"from","to","rank","timestamp"
|
|
||||||
"xxx","xxx",69,"2024-07-22T19:03:20Z"
|
|
||||||
,# === Facebook___posts_and_comments_json ===
|
|
||||||
"title","timestamp","reaction"
|
|
||||||
,"2024-01-14T06:50:00Z","xxx"
|
|
||||||
,"2024-01-14T06:50:00Z","xxx"
|
|
||||||
,# === Facebook___profile_update_history_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
,"2024-10-06T08:56:40Z"
|
|
||||||
,"2024-10-06T08:56:40Z"
|
|
||||||
,# === Facebook___received_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-02-08T16:33:20Z"
|
|
||||||
"xxx","2024-09-24T19:10:00Z"
|
|
||||||
,# === Facebook___rejected_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-09-27T15:13:20Z"
|
|
||||||
"xxx","2024-08-24T00:40:00Z"
|
|
||||||
,# === Facebook___removed_friends_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
,# === Facebook___sent_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-06-23T05:20:00Z"
|
|
||||||
"xxx","2024-05-25T08:16:40Z"
|
|
||||||
,# === Facebook___story_reactions_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
"xxx","2024-04-28T20:10:00Z"
|
|
||||||
,# === Facebook___support_correspondences_json ===
|
|
||||||
"from","to","subject","message","timestamp"
|
|
||||||
"not_a_real_email@example.com","xxx","xxx","xxx","2024-10-16T06:26:40Z"
|
|
||||||
"xxx","xxx","xxx","url://somewhere","2024-10-16T06:26:40Z"
|
|
||||||
,# === Facebook___unfollowed_pages_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-12-17T08:43:20Z"
|
|
||||||
,# === Facebook___your_group_membership_activity_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
"xxx","2024-01-14T06:50:00Z"
|
|
||||||
,# === Facebook___your_off_facebook_activity_json ===
|
|
||||||
"name","id","type","timestamp"
|
|
||||||
"xxx",69,"xxx","2024-02-11T12:36:40Z"
|
|
||||||
"xxx",69,"xxx","2024-02-10T19:56:40Z"
|
|
||||||
"xxx",69,"xxx","2024-02-10T11:36:40Z"
|
|
||||||
"xxx",69,"xxx","2024-02-07T21:06:40Z"
|
|
||||||
,# === Facebook___your_pinned_posts_json ===
|
|
||||||
"name","uri","timestamp"
|
|
||||||
"xxx","url://somewhere","2024-02-27T05:00:00Z"
|
|
||||||
"xxx","url://somewhere","2024-05-16T03:26:40Z"
|
|
||||||
,# === Facebook___your_posts_1_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","TODO: data","2024-05-01T07:53:20Z"
|
|
||||||
"xxx","TODO: data","2024-10-31T06:10:00Z"
|
|
||||||
,# === Facebook___your_posts_and_comments_in_groups_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","TODO","2024-02-08T19:20:00Z"
|
|
||||||
"xxx","TODO","2024-02-08T19:20:00Z"
|
|
||||||
,# === Facebook___your_search_history_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","xxx","2024-11-17T06:30:00Z"
|
|
||||||
"xxx","xxx","2024-11-17T06:30:00Z"
|
|
||||||
,# === base_data_manager_metadata ===
|
|
||||||
id,perRowDescription,perRowTags,columnMeta,metaId
|
|
||||||
Facebook___notifications_json,"Notification at {0}: ""{3}""","facebook,initiated_by_third_party","isodatetime,any,url,text",
|
|
||||||
Facebook___accounts_and_profiles_json,"{0} account ""{2}""",facebook,"text,text,text,text,text,text",
|
|
||||||
Facebook___your_off_facebook_activity_json,{2} event from {0} at {3},facebook,"text,any,text,isodatetime",
|
|
||||||
Facebook___apps_and_websites_json,"App ""{0}"" added on {1}",facebook,"text,isodatetime",
|
|
||||||
Facebook___comments_json,"Comment on ""{2}"" at {0}",facebook,"isodatetime,TODO,text",
|
|
||||||
Facebook___Dating_Messages_0_json,"""{3}"" from {0} to {1} at {2}","facebook,message,dating,content_by_me","sender,receiver,isodatetime,text",
|
|
||||||
Facebook___instant_games_json,"Played ""{0}"" starting {1}","facebook,gaming","text,isodatetime",
|
|
||||||
Facebook___unfollowed_pages_json,"Unfollowed ""{0}"" at {1}","facebook,initiated_by_me","text,isodatetime",
|
|
||||||
Facebook___following_json,"Followed ""{0}"" at {1}",facebook,"receiver,isodatetime",
|
|
||||||
Facebook___followers_json,{0} follows you,facebook,sender,
|
|
||||||
Facebook___sent_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___removed_friends_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___rejected_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___received_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___friends_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebook___your_group_membership_activity_json,"Joined group ""{0}"" at {1}","facebook,initiated_by_me","text,isodatetime",
|
|
||||||
Facebook___your_posts_and_comments_in_groups_json,"Group post ""{0}"" at {2}",facebook,"text,TODO,isodatetime",
|
|
||||||
Facebook___people_json,Interaction with {0} at {2},facebook,"text,url,isodatetime",
|
|
||||||
Facebook___pages_json,"Liked page ""{0}"" at {1}",facebook,"text,isodatetime",
|
|
||||||
Facebook___posts_and_comments_json,"{2} on ""{0}"" at {1}",facebook,"text,isodatetime,text",
|
|
||||||
Facebook___items_sold_json,"Sold ""{0}"" for {1} on {3}","facebook,marketplace","text,numeric,sender,isodatetime,lat,lng,text",
|
|
||||||
Facebook___Messages_randomuser4_xxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___Messages_randomuser3_xxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___Messages_randomuser2_xxxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___Messages_randomuser_xxxxxxxx___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebook___pokes_json,{0} poked {1} at {3},facebook,"sender,receiver,numeric,isodatetime",
|
|
||||||
Facebook___support_correspondences_json,"""{2}"" from {0} to {1} at {4}",facebook,"sender,receiver,text,text,isodatetime",
|
|
||||||
Facebook___payment_history_json,{2} {3} from {0} to {1} on {7},"facebook,payment","sender,receiver,numeric,text,text,text,text,isodatetime",
|
|
||||||
Facebook___Album_0_json,"Photo in ""{0}"" at {2}","facebook,photo","text,url,isodatetime",
|
|
||||||
Facebook___your_pinned_posts_json,"Pinned post ""{0}"" at {2}",facebook,"text,url,isodatetime",
|
|
||||||
Facebook___your_posts_1_json,"Post ""{0}"" at {2}",facebook,"text,TODO,isodatetime",
|
|
||||||
Facebook___profile_update_history_json,"Profile update ""{0}"" at {1}",facebook,"text,isodatetime",
|
|
||||||
Facebook___your_search_history_json,"Searched for ""{1}"" at {2}","facebook,initiated_by_me,content_by_me","text,text,isodatetime",
|
|
||||||
Facebook___account_status_changes_json,Account {0} at {1},"facebook,security","text,isodatetime",
|
|
||||||
Facebook___account_activity_json,"{0} from {4}, {6} on {8}","facebook,security","text,text,text,text,text,text,text,text,isodatetime",
|
|
||||||
Facebook___administrative_records_json,{0} at {1} from {2},"facebook,security","text,isodatetime,text,text,text",
|
|
||||||
Facebook___authorized_logins_json,"Session ""{0}"" from {5} on {1}","facebook,security","text,isodatetime,isodatetime,text,text,text,text,text,text",
|
|
||||||
Facebook___contact_verifications_json,{2} verification of {1} at {0},"facebook,security","isodatetime,text,text",
|
|
||||||
Facebook___logins_and_logouts_json,{0} on {2} at {1} from {3},"facebook,security","text,isodatetime,text,text",
|
|
||||||
Facebook___story_reactions_json,"Story reaction on ""{0}"" at {1}",facebook,"text,isodatetime",
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`facebook: Can load the 2025 export 1`] = `
|
|
||||||
# === Facebook___Messages_Meta ===
|
|
||||||
id,title,is_still_participant,thread_type,thread_path,participants
|
|
||||||
"Facebookv2___Messages_chatname_000000000000000000___message_1_json","xxx",true,,"some/path","xxx, xxx"
|
|
||||||
"Facebookv2___Messages_chatname_000000000000000___message_1_json","xxx",true,,"some/path","xxx, xxx"
|
|
||||||
"Facebookv2___Messages_chatname_00000000000000000___message_1_json","xxx",true,,"some/path","xxx, xxx"
|
|
||||||
"Facebookv2___Messages_archived_threads___chatnametype2_000000000000000_json","xxx",true,,"some/path","xxx, xxx"
|
|
||||||
"Facebookv2___Messages_chatname_00000000000000000___message_1_json","xxx",true,,"some/path","xxx, xxx"
|
|
||||||
,# === Facebookv2___Messages_archived_threads___chatnametype2_000000000000000_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","some/path"
|
|
||||||
,# === Facebookv2___Messages_chatname_000000000000000000___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z",
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebookv2___Messages_chatname_00000000000000000___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebookv2___Messages_chatname_00000000000000000___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z","xxx"
|
|
||||||
,# === Facebookv2___Messages_chatname_000000000000000___message_1_json ===
|
|
||||||
"from","to","timestamp","content"
|
|
||||||
"xxx","<other>","1970-01-01T00:00:00Z",
|
|
||||||
,# === Facebookv2___account_activity_json ===
|
|
||||||
"action","ip","user_agent","datr_cookie","city","region","country","site_name","timestamp"
|
|
||||||
"xxx","1.1.1.1","some/path","xxx","xxx","xxx","xxx","xxx","2024-11-22T10:06:40Z"
|
|
||||||
"xxx","1.1.1.1","some/path","xxx","xxx","xxx","xxx","xxx","2024-11-21T23:00:00Z"
|
|
||||||
,# === Facebookv2___comments_json ===
|
|
||||||
"timestamp","data","title"
|
|
||||||
"2024-02-13T02:06:40Z","TODO","xxx"
|
|
||||||
"2024-07-12T02:06:40Z","TODO","xxx"
|
|
||||||
,# === Facebookv2___connected_apps_and_websites_json ===
|
|
||||||
"name","added_timestamp"
|
|
||||||
"xxx","2024-01-12T00:40:00Z"
|
|
||||||
"xxx","2024-06-21T17:13:20Z"
|
|
||||||
,# === Facebookv2___email_address_verifications_json ===
|
|
||||||
"timestamp","email","contact_type"
|
|
||||||
"2024-02-07T19:43:20Z","not_a_real_email@example.com",69
|
|
||||||
,# === Facebookv2___group_posts_and_comments_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","TODO","2024-10-06T06:10:00Z"
|
|
||||||
"xxx","TODO","2024-01-22T16:13:20Z"
|
|
||||||
,# === Facebookv2___items_sold_json ===
|
|
||||||
"title","price","seller","created_timestamp","latitude","longitude","description"
|
|
||||||
"xxx","xxx","xxx","2024-10-02T23:00:00Z",69,69,"xxx"
|
|
||||||
"xxx","xxx","xxx","2024-09-27T01:20:00Z",69,69,"xxx"
|
|
||||||
,# === Facebookv2___logins_and_logouts_json ===
|
|
||||||
"action","timestamp","site","ip_address"
|
|
||||||
"xxx","2024-08-10T14:26:40Z","xxx","1.1.1.1"
|
|
||||||
"xxx","2024-08-10T14:26:40Z","xxx","1.1.1.1"
|
|
||||||
,# === Facebookv2___notifications_json ===
|
|
||||||
"timestamp","unread","href","text"
|
|
||||||
"2024-11-20T12:16:40Z",true,"url://somewhere","xxx"
|
|
||||||
"2024-11-15T00:20:00Z",true,"url://somewhere","xxx"
|
|
||||||
,# === Facebookv2___pages_and_profiles_you_ve_unfollowed_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-02-21T03:10:00Z"
|
|
||||||
,# === Facebookv2___people_and_friends_json ===
|
|
||||||
"name","uri","timestamp"
|
|
||||||
"xxx","url://somewhere","2024-09-11T20:03:20Z"
|
|
||||||
"xxx","url://somewhere","2024-01-20T12:50:00Z"
|
|
||||||
,# === Facebookv2___received_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-09-10T10:43:20Z"
|
|
||||||
"xxx","2024-09-02T12:26:40Z"
|
|
||||||
,# === Facebookv2___record_details_json ===
|
|
||||||
"event","created_timestamp","ip_address","user_agent","datr_cookie"
|
|
||||||
"xxx","2024-08-11T01:33:20Z",,,
|
|
||||||
"xxx","2024-08-10T14:26:40Z",,,
|
|
||||||
,# === Facebookv2___rejected_friend_requests_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-09-01T14:13:20Z"
|
|
||||||
"xxx","2024-08-12T08:06:40Z"
|
|
||||||
,# === Facebookv2___time_spent_on_facebook_json ===
|
|
||||||
"start","end"
|
|
||||||
,# === Facebookv2___where_you_re_logged_in_json ===
|
|
||||||
"name","created_timestamp","updated_timestamp","ip_address","user_agent","location","app","session_type","datr_cookie"
|
|
||||||
,"2024-04-04T19:46:40Z","2024-11-23T02:46:40Z","1.1.1.1","some/path","xxx","xxx","xxx","xxx"
|
|
||||||
,"2024-04-05T06:53:20Z","2024-11-22T10:06:40Z","1.1.1.1","some/path","xxx","xxx","xxx","xxx"
|
|
||||||
,# === Facebookv2___your_friends_json ===
|
|
||||||
"name","timestamp"
|
|
||||||
"xxx","2024-04-01T16:46:40Z"
|
|
||||||
"xxx","2024-09-07T16:03:20Z"
|
|
||||||
,# === Facebookv2___your_group_membership_activity_json ===
|
|
||||||
"title","timestamp"
|
|
||||||
"xxx","2024-02-12T17:46:40Z"
|
|
||||||
"xxx","2024-02-12T17:46:40Z"
|
|
||||||
,# === Facebookv2___your_search_history_json ===
|
|
||||||
"title","data","timestamp"
|
|
||||||
"xxx","xxx","2024-12-08T09:26:40Z"
|
|
||||||
"xxx","xxx","2024-12-28T00:16:40Z"
|
|
||||||
,# === base_data_manager_metadata ===
|
|
||||||
id,perRowDescription,perRowTags,columnMeta,metaId
|
|
||||||
Facebookv2___connected_apps_and_websites_json,"App ""{0}"" added on {1}",facebook,"text,isodatetime",
|
|
||||||
Facebookv2___comments_json,"Comment on ""{2}"" at {0}",facebook,"isodatetime,TODO,text",
|
|
||||||
Facebookv2___Messages_chatname_000000000000000000___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebookv2___Messages_chatname_000000000000000___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebookv2___Messages_chatname_00000000000000000___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebookv2___Messages_archived_threads___chatnametype2_000000000000000_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebookv2___Messages_chatname_00000000000000000___message_1_json,"""{3}"" from {0} at {2}","facebook,message","sender,receiver,isodatetime,text",Facebook___Messages_Meta
|
|
||||||
Facebookv2___time_spent_on_facebook_json,Active from {0} to {1},facebook,"isodatetime,isodatetime",
|
|
||||||
Facebookv2___your_group_membership_activity_json,"Joined group ""{0}"" at {1}","facebook,initiated_by_me","text,isodatetime",
|
|
||||||
Facebookv2___group_posts_and_comments_json,"Group post ""{0}"" at {2}",facebook,"text,TODO,isodatetime",
|
|
||||||
Facebookv2___pages_and_profiles_you_ve_unfollowed_json,"Unfollowed ""{0}"" at {1}","facebook,initiated_by_me","text,isodatetime",
|
|
||||||
Facebookv2___your_friends_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebookv2___rejected_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebookv2___received_friend_requests_json,{0} at {1},facebook,"text,isodatetime",
|
|
||||||
Facebookv2___people_and_friends_json,Interaction with {0} at {2},facebook,"text,url,isodatetime",
|
|
||||||
Facebookv2___your_search_history_json,"Searched for ""{1}"" at {2}","facebook,initiated_by_me,content_by_me","text,text,isodatetime",
|
|
||||||
Facebookv2___notifications_json,"Notification at {0}: ""{3}""","facebook,initiated_by_third_party","isodatetime,any,url,text",
|
|
||||||
Facebookv2___account_activity_json,"{0} from {4}, {6} on {8}","facebook,security","text,text,text,text,text,text,text,text,isodatetime",
|
|
||||||
Facebookv2___record_details_json,{0} at {1} from {2},"facebook,security","text,isodatetime,text,text,text",
|
|
||||||
Facebookv2___where_you_re_logged_in_json,"Session ""{0}"" from {5} on {1}","facebook,security","text,isodatetime,isodatetime,text,text,text,text,text,text",
|
|
||||||
Facebookv2___email_address_verifications_json,{2} verification of {1} at {0},"facebook,security","isodatetime,text,text",
|
|
||||||
Facebookv2___logins_and_logouts_json,{0} on {2} at {1} from {3},"facebook,security","text,isodatetime,text,text",
|
|
||||||
Facebookv2___items_sold_json,"Sold ""{0}"" for {1} on {3}","facebook,marketplace","text,numeric,sender,isodatetime,lat,lng,text",
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`snapchat: Can load the 2023-11 export 1`] = `
|
|
||||||
# === Snapchat___Account_History ===
|
|
||||||
"change_type","date","detail"
|
|
||||||
"display_name_change","2020-04-13T10:09:08+00:00","xxxxx"
|
|
||||||
"display_name_change","","xxxxxx"
|
|
||||||
"email_change","2020-04-13T10:09:08+00:00","not_a_real_email@example.com"
|
|
||||||
"password_change","2020-04-13T10:09:08+00:00",""
|
|
||||||
"password_change","2020-04-13T10:09:08+00:00",""
|
|
||||||
"linked_to_bitmoji","2020-04-13T10:09:08+00:00",""
|
|
||||||
"data_download","2020-04-13T10:09:08+00:00","xxxxxxx / not_a_real_email@example.com"
|
|
||||||
"data_download","2020-04-13T10:09:08+00:00","xxxxxxxxx / not_a_real_email@example.com"
|
|
||||||
,# === Snapchat___Chat_History ===
|
|
||||||
"conversation_with","from","media_type","created","content","is_sender"
|
|
||||||
"some_friend","xxxxxxxxx","xxxxx","2020-04-13T10:09:08+00:00","","false"
|
|
||||||
"some_friend","xxxxxxxxx","xxxx","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxxxx","false"
|
|
||||||
"some_friend_too","xxxxxxxxxxxxxx","xxxxx","2020-04-13T10:09:08+00:00","","false"
|
|
||||||
"some_friend_too","xxxxxxxxxxxxx","xxxx","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxxxxxxxx","false"
|
|
||||||
,# === Snapchat___Connected_App_Permissions ===
|
|
||||||
"app","time","type"
|
|
||||||
"xxxxxxx","2020-04-13T10:09:08+00:00","xxxxxxx"
|
|
||||||
,# === Snapchat___Email_Campaigns ===
|
|
||||||
"campaign","opt_out_status"
|
|
||||||
"xxxxxxxxxxxxxxxx","xxxxxxxxxxxx"
|
|
||||||
"xxxxxxxxxxxxxxx","xxxxxxxxxxxx"
|
|
||||||
,# === Snapchat___Friends ===
|
|
||||||
"relationship_type","username","display_name","created_at","modified_at","source"
|
|
||||||
"Friends","xxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxx"
|
|
||||||
"Friends","xxxxxxxxxxxxxxx","xxxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxxxx"
|
|
||||||
"Friend Requests Sent","xxxxxxxxxx","xxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
"Friend Requests Sent","xxxxxxxxx","xxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
"Blocked Users","xxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
"Blocked Users","xxxxxxxxxxxxxx","xxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
"Deleted Friends","xxxxxx","xxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
"Deleted Friends","xxxxxxxxxxxxxxx","xxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
"Ignored Snapchatters","xxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
"Ignored Snapchatters","xxxxxxxx","xxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
"Pending Requests","xxxxxxxxxxxxxxx","xxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
"Pending Requests","xxxxxxxxxxxxxx","xxxxxxxxxxxxx","2020-04-13T10:09:08+00:00","2020-04-13T10:09:08+00:00","xxxxxxxxxxxxxxxx"
|
|
||||||
,# === Snapchat___In_App_Surveys ===
|
|
||||||
"survey","time","question","response"
|
|
||||||
"Survey 2020/04/12","xxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxx"
|
|
||||||
"Survey 2020/04/12","xxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxx"
|
|
||||||
"Survey 2020/04/13","xxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxx"
|
|
||||||
"Survey 2020/04/13","xxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","some/path"
|
|
||||||
,# === Snapchat___Location_Visits ===
|
|
||||||
"time","city","region","postal_code"
|
|
||||||
"some/path","xxxxxx","xxxxxxxx","11111"
|
|
||||||
,# === Snapchat___Login_History ===
|
|
||||||
"ip","country","created","status","device"
|
|
||||||
"1.1.1.1","xx","2020-04-13T10:09:08+00:00","xxxxxxx","some/path"
|
|
||||||
"1.1.1.1","xx","2020-04-13T10:09:08+00:00","xxxxxxx","some/path"
|
|
||||||
,# === Snapchat___Spotlight ===
|
|
||||||
"story_date","story_url","action_type","view_time"
|
|
||||||
"2020-04-13T10:09:08+00:00","url://somewhere","xxxx","xxxxxxxxxxxxx"
|
|
||||||
,# === Snapchat___Terms_History ===
|
|
||||||
"version","acceptance_date"
|
|
||||||
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00"
|
|
||||||
"xxxxxxxxxxxxxxxxxxxxxxxxx","2020-04-13T10:09:08+00:00"
|
|
||||||
,# === base_data_manager_metadata ===
|
|
||||||
id,perRowDescription,perRowTags,columnMeta,metaId
|
|
||||||
Snapchat___Login_History,Login from {0} ({1}) on {2},"snapchat,security","text,text,isodatetime,text,text",
|
|
||||||
Snapchat___Account_History,{0} on {1}: {2},"snapchat,security","text,isodatetime,text",
|
|
||||||
Snapchat___Friends,{0}: {2} (@{1}) since {3},snapchat,"text,text,text,isodatetime,isodatetime,text",
|
|
||||||
Snapchat___Chat_History,"""{4}"" from {1} in {0} at {3}","snapchat,message","text,sender,text,isodatetime,text,any",
|
|
||||||
Snapchat___Location_Visits,"Visited {1}, {2} ({3}) around {0}","snapchat,location","any,text,text,any",
|
|
||||||
Snapchat___Spotlight,{2} on spotlight at {0},snapchat,"isodatetime,url,text,any",
|
|
||||||
Snapchat___Terms_History,Accepted terms {0} on {1},snapchat,"text,isodatetime",
|
|
||||||
Snapchat___Connected_App_Permissions,{2} permission for {0} on {1},snapchat,"text,isodatetime,text",
|
|
||||||
Snapchat___Email_Campaigns,"Email campaign ""{0}"": {1}",snapchat,"text,text",
|
|
||||||
Snapchat___In_App_Surveys,"Survey ""{2}"": {3}",snapchat,"text,any,text,text",
|
|
||||||
|
|
||||||
`;
|
|
||||||
27
test/discord-chat-exporter.ts
Normal file
27
test/discord-chat-exporter.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
import test from "node:test";
|
||||||
|
import nodePath from "node:path";
|
||||||
|
import { strict as assert } from "node:assert";
|
||||||
|
import { TaskTarget } from "../data-export/task.ts";
|
||||||
|
import { discord_chat_exporter } from "../data-export/discord-chat-exporter.ts";
|
||||||
|
import * as DataIO from "../data-export/io.ts";
|
||||||
|
import { parse } from "csv-parse/sync";
|
||||||
|
|
||||||
|
const THIS_FILE = import.meta.dirname;
|
||||||
|
const DCE_DIR = nodePath.join(THIS_FILE, 'fixtures/discord-chat-exporter-2026-02');
|
||||||
|
|
||||||
|
test("discord-chat-exporter: Can load the 2026-02 export", async (t) => {
|
||||||
|
const targets = [new TaskTarget(DCE_DIR)];
|
||||||
|
const builtTargets = await discord_chat_exporter()(targets);
|
||||||
|
const out = await DataIO.runPipeline(builtTargets);
|
||||||
|
const idAndCSVs: [string, string][] = [];
|
||||||
|
for (const { target, result } of out) {
|
||||||
|
assert.ok(!result.stderr, `Task ${target.id} should have no stderr output`);
|
||||||
|
assert.ok(result.ok, `Task ${target.id} should be okay`);
|
||||||
|
idAndCSVs.push([target.id, result.stdout]);
|
||||||
|
}
|
||||||
|
const csvs = idAndCSVs
|
||||||
|
.sort()
|
||||||
|
.map(v => parse(v[1]));
|
||||||
|
|
||||||
|
t.assert.snapshot(csvs);
|
||||||
|
});
|
||||||
82
test/discord-chat-exporter.ts.snapshot
Normal file
82
test/discord-chat-exporter.ts.snapshot
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
exports[`discord-chat-exporter: Can load the 2026-02 export 1`] = `
|
||||||
|
[
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"timestamp",
|
||||||
|
"author",
|
||||||
|
"discriminator",
|
||||||
|
"content",
|
||||||
|
"attachment"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"xxxxxxxxxxxxxxxxxx",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"xxxxxxxxx",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"https://example.com/example.png",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"xxx",
|
||||||
|
"GuildName - Text Channels - ChannelName [0000000000000000].json_Files/unknown-SUFFIX.png"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"guild_name",
|
||||||
|
"channel_name",
|
||||||
|
"channel_type",
|
||||||
|
"channel_category",
|
||||||
|
"channel_topic",
|
||||||
|
"message_count"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"DiscordCE___Channel_0000000000000000",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"xxxxxxx",
|
||||||
|
"xxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxx",
|
||||||
|
"",
|
||||||
|
"111"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"perRowDescription",
|
||||||
|
"perRowTags",
|
||||||
|
"columnMeta",
|
||||||
|
"metaId"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"DiscordCE___Messages_0000000000000000",
|
||||||
|
"\\"{4}\\" from {2} at {1}",
|
||||||
|
"discord,message",
|
||||||
|
"any,isodatetime,sender,any,text,url",
|
||||||
|
"DiscordCE___Messages_Meta"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
`;
|
||||||
27
test/discord.ts
Normal file
27
test/discord.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
import test from "node:test";
|
||||||
|
import nodePath from "node:path";
|
||||||
|
import { strict as assert } from "node:assert";
|
||||||
|
import { TaskTarget } from "../data-export/task.ts";
|
||||||
|
import { discord } from "../data-export/discord.ts";
|
||||||
|
import * as DataIO from "../data-export/io.ts";
|
||||||
|
import { parse } from "csv-parse/sync";
|
||||||
|
|
||||||
|
const THIS_FILE = import.meta.dirname;
|
||||||
|
const DISCORD_V1_DIR = nodePath.join(THIS_FILE, 'fixtures/discord-json-2021-01');
|
||||||
|
|
||||||
|
test("discord: Can load the 2021 export", async (t) => {
|
||||||
|
const targets = [new TaskTarget(DISCORD_V1_DIR)];
|
||||||
|
const builtTargets = await discord()(targets);
|
||||||
|
const out = await DataIO.runPipeline(builtTargets);
|
||||||
|
const idAndCSVs: [string, string][] = [];
|
||||||
|
for (const { target, result } of out) {
|
||||||
|
assert.ok(!result.stderr, `Task ${target.id} should have no stderr output`);
|
||||||
|
assert.ok(result.ok, `Task ${target.id} should be okay`);
|
||||||
|
idAndCSVs.push([target.id, result.stdout]);
|
||||||
|
}
|
||||||
|
const csvs = idAndCSVs
|
||||||
|
.sort() // Keep stable ordering for snapshots
|
||||||
|
.map(v => parse(v[1]));
|
||||||
|
|
||||||
|
t.assert.snapshot(csvs);
|
||||||
|
});
|
||||||
415
test/discord.ts.snapshot
Normal file
415
test/discord.ts.snapshot
Normal file
|
|
@ -0,0 +1,415 @@
|
||||||
|
exports[`discord: Can load the 2021 export 1`] = `
|
||||||
|
[
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"application_id",
|
||||||
|
"last_played_at",
|
||||||
|
"total_duration"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"1111"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"111111"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"event_type",
|
||||||
|
"timestamp",
|
||||||
|
"channel_id",
|
||||||
|
"guild_id",
|
||||||
|
"message_id",
|
||||||
|
"game_name",
|
||||||
|
"channel_name",
|
||||||
|
"guild_name"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxxxxx",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxxxxx",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"event_type",
|
||||||
|
"timestamp",
|
||||||
|
"channel_id",
|
||||||
|
"guild_id",
|
||||||
|
"message_id",
|
||||||
|
"game_name",
|
||||||
|
"channel_name",
|
||||||
|
"guild_name"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxx",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxx",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"event_type",
|
||||||
|
"timestamp",
|
||||||
|
"channel_id",
|
||||||
|
"guild_id",
|
||||||
|
"message_id",
|
||||||
|
"game_name",
|
||||||
|
"channel_name",
|
||||||
|
"guild_name"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxxxxxxxxxxxxx",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxxxxxxxxxxxxx",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"event_type",
|
||||||
|
"timestamp",
|
||||||
|
"channel_id",
|
||||||
|
"guild_id",
|
||||||
|
"message_id",
|
||||||
|
"game_name",
|
||||||
|
"channel_name",
|
||||||
|
"guild_name"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxx"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxx"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"type",
|
||||||
|
"name",
|
||||||
|
"id",
|
||||||
|
"verified",
|
||||||
|
"visibility"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxx",
|
||||||
|
"xxxxxxxxxxx",
|
||||||
|
"xxxxxxxxxxx",
|
||||||
|
"false",
|
||||||
|
"1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxx",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"xxxxxxxx",
|
||||||
|
"false",
|
||||||
|
"1"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"timestamp",
|
||||||
|
"content",
|
||||||
|
"attachment"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"8888888888",
|
||||||
|
"2022-02-22 22:22:22.222222+00:00",
|
||||||
|
"Heyo",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"timestamp",
|
||||||
|
"content",
|
||||||
|
"attachment"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2222222222222",
|
||||||
|
"2022-22-22 22:22:22.22222+00:00",
|
||||||
|
"Heyo",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"timestamp",
|
||||||
|
"content",
|
||||||
|
"attachment"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"000000000000000005",
|
||||||
|
"2011-02-02 02:05:02.000000+00:00",
|
||||||
|
"Huh what the heck is this message",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"000000000000000004",
|
||||||
|
"2011-02-02 02:04:02.000000+00:00",
|
||||||
|
"<:thonk:000000000000000000><:thonk:000000000000000000><:thonk:000000000000000000>",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"000000000000000003",
|
||||||
|
"2011-02-02 02:03:02.000000+00:00",
|
||||||
|
"(so <@00000000000000000> who are you)",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"000000000000000002",
|
||||||
|
"2011-02-02 02:02:02.000000+00:00",
|
||||||
|
"",
|
||||||
|
"https://cdn.discordapp.com/attachments/000000000000000000/000000000000000000/image.png"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"000000000000000001",
|
||||||
|
"2011-02-02 02:01:02.000000+00:00",
|
||||||
|
"https://google.com/whatever",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"type",
|
||||||
|
"name",
|
||||||
|
"guild_id",
|
||||||
|
"guild_name",
|
||||||
|
"recipients"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Channel_333333333333333333",
|
||||||
|
"0",
|
||||||
|
"generalchat",
|
||||||
|
"333333333333333332",
|
||||||
|
"xxx",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Channel_222222222222222222",
|
||||||
|
"1",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"00000000000000000,1111111111111111"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Channel_11111111111111111",
|
||||||
|
"0",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"user_id",
|
||||||
|
"note"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"111111111111111111",
|
||||||
|
"xxxx"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"created_at",
|
||||||
|
"description",
|
||||||
|
"amount",
|
||||||
|
"currency",
|
||||||
|
"status"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"xxx",
|
||||||
|
"1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2020-04-13T10:09:08.000000+00:00",
|
||||||
|
"xxxxxxxxxxxxxxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"xxx",
|
||||||
|
"1"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"username",
|
||||||
|
"discriminator",
|
||||||
|
"type"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxxxxxxxxxx",
|
||||||
|
"1111",
|
||||||
|
"1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"xxxx",
|
||||||
|
"1111",
|
||||||
|
"1"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"id",
|
||||||
|
"perRowDescription",
|
||||||
|
"perRowTags",
|
||||||
|
"columnMeta",
|
||||||
|
"metaId"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Messages_333333333333333333",
|
||||||
|
"\\"{2}\\" at {1}",
|
||||||
|
"discord,message,content_by_me",
|
||||||
|
"any,isodatetime,text,url",
|
||||||
|
"Discord___Messages_Meta"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Messages_222222222222222222",
|
||||||
|
"\\"{2}\\" at {1}",
|
||||||
|
"discord,message,content_by_me",
|
||||||
|
"any,isodatetime,text,url",
|
||||||
|
"Discord___Messages_Meta"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Messages_11111111111111111",
|
||||||
|
"\\"{2}\\" at {1}",
|
||||||
|
"discord,message,content_by_me",
|
||||||
|
"any,isodatetime,text,url",
|
||||||
|
"Discord___Messages_Meta"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Connections",
|
||||||
|
"{0} account \\"{1}\\"",
|
||||||
|
"discord",
|
||||||
|
"text,text,any,any,any",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Relationships",
|
||||||
|
"{0}#{1} (relationship type {2})",
|
||||||
|
"discord",
|
||||||
|
"text,any,any",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Payments",
|
||||||
|
"{1}: {2} {3} on {0}",
|
||||||
|
"discord,payment",
|
||||||
|
"isodatetime,text,numeric,text,any",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Activity_Stats",
|
||||||
|
"App {0}: {2}s played, last at {1}",
|
||||||
|
"discord",
|
||||||
|
"any,isodatetime,numeric",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Notes",
|
||||||
|
"Note on {0}: \\"{1}\\"",
|
||||||
|
"discord",
|
||||||
|
"any,text",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Activity_tns",
|
||||||
|
"{0} at {1}",
|
||||||
|
"discord,activity",
|
||||||
|
"text,isodatetime,any,any,any,text,text,text",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Activity_reporting",
|
||||||
|
"{0} at {1}",
|
||||||
|
"discord,activity",
|
||||||
|
"text,isodatetime,any,any,any,text,text,text",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Activity_modeling",
|
||||||
|
"{0} at {1}",
|
||||||
|
"discord,activity",
|
||||||
|
"text,isodatetime,any,any,any,text,text,text",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"Discord___Activity_analytics",
|
||||||
|
"{0} at {1}",
|
||||||
|
"discord,activity",
|
||||||
|
"text,isodatetime,any,any,any,text,text,text",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
`;
|
||||||
68
test/facebook.ts
Normal file
68
test/facebook.ts
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
import test from "node:test";
|
||||||
|
import nodePath from "node:path";
|
||||||
|
import { strict as assert } from "node:assert";
|
||||||
|
import { TaskTarget, verify, run, unzip, pipe } from "../data-export/task.ts";
|
||||||
|
import { parallel } from "../data-export/parallel.ts";
|
||||||
|
import { facebook, facebook_v2 } from "../data-export/facebook.ts";
|
||||||
|
import * as DataIO from "../data-export/io.ts";
|
||||||
|
import { parse } from "csv-parse/sync"; // For better diffs + error checking of CSV output
|
||||||
|
|
||||||
|
const THIS_FILE = import.meta.dirname;
|
||||||
|
const FACEBOOK_V1_DIR = nodePath.join(THIS_FILE, 'fixtures/facebook-json-2021-05-01');
|
||||||
|
const FACEBOOK_V1_ZIPPED = nodePath.join(THIS_FILE, 'fixtures/facebook-json-2021-05-01.zip');
|
||||||
|
const FACEBOOK_V2_DIR = nodePath.join(THIS_FILE, 'fixtures/facebook-json-2025-11-29');
|
||||||
|
|
||||||
|
test("facebook: Can load the 2021 export", async (t) => {
|
||||||
|
const targets = [
|
||||||
|
new TaskTarget(FACEBOOK_V1_DIR)
|
||||||
|
]
|
||||||
|
const builtTargets = await facebook()(targets);
|
||||||
|
const out = await DataIO.runPipeline(builtTargets);
|
||||||
|
const idAndCSVs: [string, string][] = [];
|
||||||
|
for (const {target, result} of out) {
|
||||||
|
assert.ok(!result.stderr, `Task ${target.id} should have no stderr output`);
|
||||||
|
assert.ok(result.ok, `Task ${target.id} should be okay`);
|
||||||
|
idAndCSVs.push([target.id, result.stdout]);
|
||||||
|
}
|
||||||
|
const csvs = idAndCSVs
|
||||||
|
.sort() // Keep stable ordering for snapshots
|
||||||
|
.map(v => parse(v[1]))
|
||||||
|
|
||||||
|
t.assert.snapshot(csvs);
|
||||||
|
});
|
||||||
|
test("facebook: Can load the 2021 export zipped", async (t) => {
|
||||||
|
const targets = [
|
||||||
|
new TaskTarget(FACEBOOK_V1_ZIPPED)
|
||||||
|
];
|
||||||
|
const builtTargets = await pipe(unzip(), facebook())(targets);
|
||||||
|
const out = await DataIO.runPipeline(builtTargets);
|
||||||
|
const idAndCSVs: [string, string][] = [];
|
||||||
|
for (const {target, result} of out) {
|
||||||
|
assert.ok(!result.stderr, `Task ${target.id} should have no stderr output`);
|
||||||
|
assert.ok(result.ok, `Task ${target.id} should be okay`);
|
||||||
|
idAndCSVs.push([target.id, result.stdout]);
|
||||||
|
}
|
||||||
|
const csvs = idAndCSVs
|
||||||
|
.sort() // Keep stable ordering for snapshots
|
||||||
|
.map(v => parse(v[1]))
|
||||||
|
|
||||||
|
t.assert.snapshot(csvs);
|
||||||
|
});
|
||||||
|
test("facebook: Can load the 2025 export", async (t) => {
|
||||||
|
const targets = [
|
||||||
|
new TaskTarget(FACEBOOK_V2_DIR)
|
||||||
|
]
|
||||||
|
const builtTargets = await facebook_v2()(targets);
|
||||||
|
const out = await DataIO.runPipeline(builtTargets);
|
||||||
|
const idAndCSVs: [string, string][] = [];
|
||||||
|
for (const {target, result} of out) {
|
||||||
|
assert.ok(!result.stderr, `Task ${target.id} should have no stderr output`);
|
||||||
|
assert.ok(result.ok, `Task ${target.id} should be okay`);
|
||||||
|
idAndCSVs.push([target.id, result.stdout]);
|
||||||
|
}
|
||||||
|
const csvs = idAndCSVs
|
||||||
|
.sort() // Keep stable ordering for snapshots
|
||||||
|
.map(v => parse(v[1]))
|
||||||
|
|
||||||
|
t.assert.snapshot(csvs);
|
||||||
|
});
|
||||||
2591
test/facebook.ts.snapshot
Normal file
2591
test/facebook.ts.snapshot
Normal file
File diff suppressed because it is too large
Load diff
31
test/fixtures/fitbit-2026-02.md
vendored
31
test/fixtures/fitbit-2026-02.md
vendored
|
|
@ -1,31 +0,0 @@
|
||||||
# fitbit-2026-02
|
|
||||||
|
|
||||||
## Manual edits / notes
|
|
||||||
* Some many of these files are `category-2020-04-13.json` or `.csv` and then there's like 100 files. I had to manually delete all the extras and just keep one or two around. Im not keeping 2 for all of them because it's too much manual editing right now
|
|
||||||
|
|
||||||
* `Social`
|
|
||||||
* `badge.json` kept some of the type names
|
|
||||||
* `Sleep`
|
|
||||||
* `sleep_score.csv` Manually kept magnitude of last index as scrubber was not good at preserving that
|
|
||||||
* `sleep-xxx.json` Pretty sure there are multiple shapes on this based on the type. In the UI it presents them differently (one showing just asleep/not asleep, the other showing like rem and such)
|
|
||||||
* **TODO** - I only have one of the types in the export data in the fixture im pretty sure. Need to add the other one
|
|
||||||
* `Physical Activity`
|
|
||||||
* `time_in_heart_rate_zones-xxx.json` WHY DOES THIS USE MM/DD/YY DATES, ughhhhh
|
|
||||||
* `swim_lengths_data-xxx.json` I don't really swim so I dont know why there's so much data in here
|
|
||||||
* `sedentary_minutes-xxx.json` Hmm, this one has a lot of 1440, even though I did not wear my fitbit for a lot of those days or it failed to sync, so probably just defaults... I see that in a lot of this data
|
|
||||||
* `resting_heart_rate-xxx.json` Yeah... This one has a bunch of null objects in it. So if you want to parse any of this data, you're going to have to filter out all the days you weren't wearing your device manually
|
|
||||||
* I also added an extra entry to this file for the nulls to show up in the export with
|
|
||||||
* `exercise-100.json` These are weird, seems to be a suffix of like `-\d+`. Not really any specific pattern either, I only see 0 and 100 in here
|
|
||||||
* `distance-xxx.json` This one seems to be minute-by-minute, but only for some minutes. It's kinda weird. Idk if these are supposed to be like number since last message, or number since last minute (but the last minute was missed), or what...
|
|
||||||
* `calories-xxx.json` Why does the default value here seem to be 0.95 for everything, ugh
|
|
||||||
* `Active Zone Minutes - xxx.csv` Added stuff the types back to this
|
|
||||||
* UGH this uses `2020-04-13T10:10` for the times, wtf why
|
|
||||||
* `Personal & Account`
|
|
||||||
* `weight-xxx.json` this uses `MM/DD/YY` and `HH:MM:ss` seperately. Manually had to fix
|
|
||||||
* `Heart`
|
|
||||||
* `afib_ppg_enrollment.csv` Another off the wall date format `Fri Dec 19 06:32:30 UTC 2025`. Going to manually edit this
|
|
||||||
* `Biometrics`
|
|
||||||
* `Glucose xxx.csv` no data in all of these. they're not even proper csvs when there's no data... ugh. The only info is that there's year and month inside the filename
|
|
||||||
* `Google Data`
|
|
||||||
* There's so much overlap here with the other stuff, but some of it looks better handled, others don't
|
|
||||||
* `Physical Activity/daily_heart_rate_zones.csv` - Fuck this file, JSON embedded in CSV why, they did not need to do this...
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
timestamp,event_name,email,location,ip,outcome,reason,application,device_info
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,xxxxxxxxxxxxxx,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,,xxxxxxxxxxxxxxxxxxxxxx,
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,xxxxxxxxxxxxxx,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,xxxxxxxxxxxxxx,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,xxxxxxxxxxxxxxxxxxxxxxx,1.1.1.1,xxxxxxx,xxxxxxxxxxxxxx,xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
timestamp,event_name,email,location,ip,outcome,reason
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,,1.1.1.1,xxxxxxx,
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,,1.1.1.1,xxxxxxx,
|
|
||||||
Mon Apr 13 10:09:08 UTC 2020,xxxxxxxxxxxxxxxxxxx,not_a_real_email@example.com,,1.1.1.1,xxxxxxx,
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
Coach Data Export
|
|
||||||
|
|
||||||
The Coach category of your data export includes the pieces of content that you favorited in the Coach view, as well as
|
|
||||||
content recommendations that were generated for you based on watch history, wellbeing and physical activity.
|
|
||||||
|
|
||||||
Files included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
Coach Favorites.csv
|
|
||||||
|
|
||||||
This includes the items that you marked as favorite in the Coach view.
|
|
||||||
timestamp - Datetime of the moment the item was favorited
|
|
||||||
id - Unique identifier of the item
|
|
||||||
title - Name of the item
|
|
||||||
bundle_id - Category of content in the Coach view that the item belongs to
|
|
||||||
content_type - Content type of the item
|
|
||||||
|
|
||||||
----------
|
|
||||||
|
|
||||||
Coach Content Recommendations.csv
|
|
||||||
|
|
||||||
This is the list of videos/audios that were recently recommended to you based on your and other users' viewing history.
|
|
||||||
date - Date when the recommendation was generated
|
|
||||||
id - Unique identifier of the item
|
|
||||||
title - Name of the item
|
|
||||||
bundle_id - Category of content in the Coach view that the item belongs to
|
|
||||||
content_type - Content type of the item
|
|
||||||
rating - Rating representing how good the recommendation was computed to be
|
|
||||||
|
|
||||||
----------
|
|
||||||
|
|
||||||
Coach Dynamic Recommendations.csv
|
|
||||||
|
|
||||||
This file contains the list of content rows that were personalized for you and that were embedded in pages in the app
|
|
||||||
other than the main Coach view.
|
|
||||||
timestamp - Datetime of when the content row was determined
|
|
||||||
component_id - Unique identifier of the content row
|
|
||||||
bundle_id - Category of content in the Coach view that the item belongs to
|
|
||||||
id - Unique identifier of the item
|
|
||||||
title - Name of the item
|
|
||||||
content_type - Content type of the item
|
|
||||||
associated_tags - Tags describing the items in the content row and which can be filtered upon
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
previous_email,change_time,request_id
|
|
||||||
not_a_real_email@example.com,2020-04-13T10:09:08.000000Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
date_changed,reason
|
|
||||||
2020-04-13T10:09:08.000000Z,some/path
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
Biometrics Data Export
|
|
||||||
|
|
||||||
Description: For users who have access and started to use biometrics features (such as Blood Glucose) in the Fitbit app this category of the data export includes all of the content added via those features. This includes your biometrics and other associated data, including annotations, time and type of measurement, your personal ranges and reminders.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
Glucose Reminders.csv
|
|
||||||
|
|
||||||
The list of reminders that you created in the Fitbit app.
|
|
||||||
|
|
||||||
time - Time
|
|
||||||
days - Days of week
|
|
||||||
enabled - Whether this remainder enabled
|
|
||||||
|
|
||||||
----------
|
|
||||||
|
|
||||||
Glucose Target Ranges.csv
|
|
||||||
|
|
||||||
Your blood glucose personal target range.
|
|
||||||
|
|
||||||
min - Target range (min)
|
|
||||||
max - Target range (max)
|
|
||||||
|
|
||||||
----------
|
|
||||||
|
|
||||||
Glucose YYYYMM.csv
|
|
||||||
|
|
||||||
Each file holds the list of blood glucose values and associated data for the specific month (defined by YYYY-MM).
|
|
||||||
|
|
||||||
time - Entry date and time
|
|
||||||
value - Value
|
|
||||||
unit - Unit (MMOL_L / MG_DL)
|
|
||||||
data_source - Description of data source (UNKNOWN / MANUAL / APP)
|
|
||||||
measurement_type - Entry type (UNSPECIFIED / SMBG / CGM / LAB_TEST)
|
|
||||||
medical_codes - List of medical codes (if available) (LOINC and/or SNOMED)
|
|
||||||
tags - List of associated annotations
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
no data
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
To access your order history and related information for orders placed between 2008 and 2024, please contact Google customer support at https://support.google.com/fitbit/gethelp.
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
Calibration Status for Readiness and Load
|
|
||||||
|
|
||||||
The CalibrationStatusForReadinessAndLoad file contains the calibration status for the Readiness and Load features.
|
|
||||||
When the remaining number of days is 0, the user is considered calibrated.
|
|
||||||
|
|
||||||
----------
|
|
||||||
|
|
||||||
CalibrationStatusForReadinessAndLoad.csv
|
|
||||||
|
|
||||||
user_id - unique id for the user
|
|
||||||
feature - name of the feature
|
|
||||||
remaining_days - the remaining number of days required to complete the calibration
|
|
||||||
calibration_start_date - the date when calibration was started, local date
|
|
||||||
latest_completion_date - the date when calibration was completed, local date
|
|
||||||
latest_update_date - the date when the calibration status was last updated, local date
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
feature,remaining_days,calibration_start_date,latest_completion_date,latest_update_date
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxx,1,2020-04-13,2020-04-13,2020-04-13
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxx,1,2020-04-13,2020-04-13,2020-04-13
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Goal Settings History
|
|
||||||
|
|
||||||
The GoalSettingsHistory file contains the settings history for the user goals.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
GoalSettingsHistory.csv
|
|
||||||
|
|
||||||
name - name of the goal
|
|
||||||
objectives - objectives of the goal containing the target value and the metric to measure
|
|
||||||
schedule - schedule of the goal, weekly or fixed datetime range
|
|
||||||
status - status of the goal, enabled or disabled
|
|
||||||
update_time - time when the goal was updated with these settings
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
name,objectives,schedule,status,update_time,meta,title,subtitle,rationale,domain,progress_start_time,progress_end_time,progress
|
|
||||||
xxxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
xxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,2020-04-13 10:09:08 - 2020-04-13 10:09:08,xxxxxxx,2020-04-13 10:09:08+0000,,,,,xxxxx,,,
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
Irregular Rhythm Notifications
|
|
||||||
|
|
||||||
The below section is dedicated to the exported data of the Irregular Rhythm
|
|
||||||
Notifications (IRN) data domain. The IRN feature analyzes your heart rhythm for
|
|
||||||
signs of atrial fibrillation (AFib).
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
IrnUserState.csv
|
|
||||||
|
|
||||||
The data for the user's state with respect to the Irregular Rhythm Notifications feature.
|
|
||||||
|
|
||||||
EnrollmentState - The user's enrollment status in the IRN feature
|
|
||||||
(e.g., ENROLLED).
|
|
||||||
LastProcessedTime - The timestamp of the last time the user's heart
|
|
||||||
rhythm data was processed.
|
|
||||||
LastConclusiveWindow - The timestamp of the end of the last window of
|
|
||||||
data that was considered conclusive (either positive or negative for AFib).
|
|
||||||
LastProcessedTimestamps - A JSON array detailing the last processed
|
|
||||||
timestamp for each data source (e.g., each device).
|
|
||||||
LastNotifiedTime - The timestamp of the last time a notification was
|
|
||||||
sent to the user.
|
|
||||||
|
|
||||||
|
|
||||||
IrnAfibAlertWindows.csv
|
|
||||||
|
|
||||||
The data for individual AFib analysis windows. An alert is generated from one or more of these windows.
|
|
||||||
|
|
||||||
DeviceId - The identifier of the device that recorded the
|
|
||||||
data.
|
|
||||||
DeviceFitbitDeviceType - The model of the Fitbit device (e.g., ANTARES).
|
|
||||||
AlgorithmVersion - The version of the AFib detection algorithm used.
|
|
||||||
ServiceVersion - The version of the backend service that processed
|
|
||||||
the data.
|
|
||||||
StartTime - The start time of the analysis window.
|
|
||||||
Positive - A boolean indicating if the window was positive
|
|
||||||
for signs of AFib.
|
|
||||||
HeartBeats - A JSON array of heartbeats recorded during the
|
|
||||||
window, including the timestamp and beats per
|
|
||||||
minute for each.
|
|
||||||
|
|
||||||
|
|
||||||
IrnAfibAlerts.csv
|
|
||||||
|
|
||||||
The data for AFib alerts sent to the user.
|
|
||||||
|
|
||||||
DeviceId - The identifier of the device that recorded the
|
|
||||||
data.
|
|
||||||
DeviceFitbitDeviceType - The model of the Fitbit device.
|
|
||||||
AlgorithmVersion - The version of the AFib detection algorithm used.
|
|
||||||
ServiceVersion - The version of the backend service that processed
|
|
||||||
the data.
|
|
||||||
StartTime - The start time of the first analysis window in
|
|
||||||
the alert.
|
|
||||||
EndTime - The end time of the last analysis window in the
|
|
||||||
alert.
|
|
||||||
DetectedTime - The timestamp when the alert was officially
|
|
||||||
generated.
|
|
||||||
AlertWindows - A JSON array of the individual analysis windows
|
|
||||||
that constitute the alert. Each window includes
|
|
||||||
its start and end times, a positive flag, and the
|
|
||||||
associated heartbeats.
|
|
||||||
IsRead - A boolean indicating if the user has viewed the
|
|
||||||
notification.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
enrollment_state,last_processed_time,last_conclusive_window,last_processed_timestamps,last_notified_time
|
|
||||||
xxxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
UserAppSettingData Export
|
|
||||||
|
|
||||||
The UserAppSetting data file contains user prerferences such as measurment units, height and weight system etc.
|
|
||||||
|
|
||||||
Files included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
UserAppSettingData.csv
|
|
||||||
|
|
||||||
The data for User AppSettings
|
|
||||||
|
|
||||||
preferred_workout_intensity_level - the preferred workout intensity level of the user
|
|
||||||
height_system - the height system of the user
|
|
||||||
weight_system - the weight system of the user
|
|
||||||
water_measurement_unit - the water measurement unit of the user
|
|
||||||
glucose_measurement_unit - the glucose measurement unit of the user
|
|
||||||
body_temperature_measurement_unit - the body temperature measurement unit of the user
|
|
||||||
pool_length - the pool length of the user (e.g. 16 units)
|
|
||||||
pool_length_measurement_unit - the pool length measurement unit of the user
|
|
||||||
swim_unit - the swim unit of the user
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
value_time,setting_name,setting_value
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxxxxx,xxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxx,xx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxx,11
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxxx,xxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxx,xx
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
UserDemographicData Export
|
|
||||||
|
|
||||||
The User Demographic data file contains information commonly used for creating statistics / automatic update emails, including country, state, is_child etc.
|
|
||||||
|
|
||||||
Files included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
UserDemographicData.csv
|
|
||||||
|
|
||||||
The data for User Demographic:
|
|
||||||
|
|
||||||
country - the country of the user
|
|
||||||
state - the state of the user
|
|
||||||
sex - the gender of the user
|
|
||||||
timezone - the timezone of the user
|
|
||||||
locale - the locale of the user
|
|
||||||
is_child - whether the user is a child
|
|
||||||
|
|
||||||
Note that it is expected for migrated Google accounts to contain entries with default Fitbit values for date_of_birth ("1970-01-01").
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
value_time,setting_name,setting_value
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxx,xxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxx,xxxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxx,some/path
|
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
Exercises
|
|
||||||
|
|
||||||
The below section is dedicated to the exported data of the Exercise data domain.
|
|
||||||
Exercises are sent by the wearables device to the Backend and contain data about
|
|
||||||
the exercises performed by the user.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
UserExercises.csv
|
|
||||||
|
|
||||||
The data for exercises
|
|
||||||
exercise_id - the unique identifier of the exercise
|
|
||||||
exercise_start - the exercise start time at UTC
|
|
||||||
exercise_end - the exercise end time at UTC
|
|
||||||
utc_offset - the timezone offset relative to UTC for the exercise
|
|
||||||
exercise_created - the time when the exercise was created at UTC
|
|
||||||
exercise_last_updated - the time when the exercise was last updated at UTC
|
|
||||||
activity_name - the type of activity performed during the exercise
|
|
||||||
log_type - where the exercise was logged from (mobile, tracker, etc.)
|
|
||||||
|
|
||||||
pool_length - user's preferred pool length in the unit specified by PoolLengthUnit
|
|
||||||
pool_length_unit - pool length unit
|
|
||||||
|
|
||||||
intervals data about the intervals of the exercise (if the exercise was an interval workout).
|
|
||||||
it is listed as blocks of the following -
|
|
||||||
- type: the type of the interval (REST or MOVE)
|
|
||||||
- interval_num: the interval number
|
|
||||||
- total_intervals: the total number of intervals in the workout
|
|
||||||
- num_repeats: the number of times the interval was repeated
|
|
||||||
- duration_millis: the interval duration in milliseconds
|
|
||||||
|
|
||||||
distance_units - the units of the distance (imperial or metric)
|
|
||||||
tracker_total_calories - the total calories burned during the exercise (registered by the tracker)
|
|
||||||
tracker_total_steps - the total steps taken during the exercise (registered by the tracker)
|
|
||||||
tracker_total_distance_mm - the total distance in millimeters covered during the exercise (registered by the tracker)
|
|
||||||
tracker_total_altitude_mm - the total altitude in millimeters covered during the exercise (registered by the tracker)
|
|
||||||
tracker_avg_heart_rate - the average heart rate during the exercise (registered by the tracker)
|
|
||||||
tracker_peak_heart_rate - the peak heart rate during the exercise (registered by the tracker)
|
|
||||||
tracker_avg_pace_mm_per_second - the average pace in millimeters per second during the exercise (registered by the tracker)
|
|
||||||
tracker_avg_speed_mm_per_second - the average speed in millimeters per second during the exercise (registered by the tracker)
|
|
||||||
tracker_peak_speed_mm_per_second - the peak speed in millimeters per second during the exercise (registered by the tracker)
|
|
||||||
tracker_auto_stride_run_mm - the stride length when running in millimeters during the exercise (registered by the tracker)
|
|
||||||
tracker_auto_stride_walk_mm - the stride length when walking in millimeters during the exercise (registered by the tracker)
|
|
||||||
tracker_swim_lengths - the number of lengths swam during a swim exercise (registered by the tracker)
|
|
||||||
tracker_pool_length - the pool length in the unit specified by TrackerPoolLengthUnit (calculated by the tracker)
|
|
||||||
tracker_pool_length_unit - the pool length unit
|
|
||||||
tracker_cardio_load - the cardio load of the exercise (registered by the tracker)
|
|
||||||
|
|
||||||
manually_logged_total_calories - total calories burned during the exercise (manually logged by the user)
|
|
||||||
manually_logged_total_steps - total steps taken during the exercise (manually logged by the user)
|
|
||||||
manually_logged_total_distance_mm - total distance in millimeters covered during the exercise (manually logged by the user)
|
|
||||||
manually_logged_pool_length - the pool length in the unit specified by ManuallyLoggedPoolLengthUnit (manually logged by the user)
|
|
||||||
manually_logged_pool_length_unit - the pool length unit
|
|
||||||
|
|
||||||
exercise_events - data about the events that happen throughout the exercise such as start, stop, pause, split
|
|
||||||
- for SPLIT, AUTO_SPLIT and INTERVAL events, all the metrics are relative to the previous event
|
|
||||||
- for PAUSE, AUTO_PAUSE and STOP events, all the metrics are relative to the start of the exercise
|
|
||||||
it is listed as blocks of the following -
|
|
||||||
- exercise_event_id: the unique identifier of the event
|
|
||||||
- timestamp: the time when the event occurred at UTC
|
|
||||||
- type: the type of the event (START, STOP, PAUSE, RESUME etc.)
|
|
||||||
- auto_cue_type: the type of the auto cue (MANUAL, DISTANCE, TIME, CALORIES etc.)
|
|
||||||
- elapsed_time_millis: the elapsed time in milliseconds
|
|
||||||
- traveled_distance_mm: the distance traveled in millimeters
|
|
||||||
- calories_burned: the calories burned
|
|
||||||
- steps: the steps taken
|
|
||||||
- average_heart_rate: average heart rate
|
|
||||||
- elevation_gain_mm: elevation gain in millimeters
|
|
||||||
- swim_lengths: number of lengths swam
|
|
||||||
- average_speed_mm_per_sec: average speed in millimeters per second
|
|
||||||
- interval_type: the type of the interval (REST or MOVE)
|
|
||||||
|
|
||||||
activity_type_probabilities - a list of activities that the user might have performed during the exercise, with the probability of each activity
|
|
||||||
autodetected_confirmed - whether the user confirmed the autodetected exercise
|
|
||||||
autodetected_start_timestamp - the start time of the autodetected exercise at UTC
|
|
||||||
autodetected_end_timestamp - the end time of the autodetected exercise at UTC
|
|
||||||
autodetected_utc_offset - the timezone offset relative to UTC for the autodetected exercise
|
|
||||||
autodetected_activity_name - the name of the autodetected activity
|
|
||||||
autodetected_sensor_based_activity_name - the name of the sensor based autodetected activity
|
|
||||||
deletion_reason - the reason why the exercise was deleted
|
|
||||||
activity_label - the label of the activity
|
|
||||||
suggested_start_timestamp - the suggested start time of the exercise at UTC
|
|
||||||
suggested_end_timestamp - the suggested end time of the exercise at UTC
|
|
||||||
reconciliation_status - the status of the reconciliation
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
exercise_id,exercise_start,exercise_end,utc_offset,exercise_created,exercise_last_updated,activity_name,log_type,pool_length,pool_length_unit,intervals,distance_units,tracker_total_calories,tracker_total_steps,tracker_total_distance_mm,tracker_total_altitude_mm,tracker_avg_heart_rate,tracker_peak_heart_rate,tracker_avg_pace_mm_per_second,tracker_avg_speed_mm_per_second,tracker_peak_speed_mm_per_second,tracker_auto_stride_run_mm,tracker_auto_stride_walk_mm,tracker_swim_lengths,tracker_pool_length,tracker_pool_length_unit,tracker_cardio_load,manually_logged_total_calories,manually_logged_total_steps,manually_logged_total_distance_mm,manually_logged_pool_length,manually_logged_pool_length_unit,events,activity_type_probabilities,autodetected_confirmed,autodetected_start_timestamp,autodetected_end_timestamp,autodetected_utc_offset,autodetected_activity_name,autodetected_sensor_based_activity_name,deletion_reason,activity_label,suggested_start_timestamp,suggested_end_timestamp,reconciliation_status
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
1111111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000,xxxxxxxxxxxx,xxxxxxxxxxxxx,1,xxxxxxxxxxx,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xxxxxxxxxxx,,,,
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
UserLegacySettingData Export
|
|
||||||
|
|
||||||
The User Legacy Setting Data file contains legacy settings for the user, including
|
|
||||||
|
|
||||||
Files included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
UserLegacySettingData.csv
|
|
||||||
|
|
||||||
The data for User Legacy Setting Data:
|
|
||||||
|
|
||||||
clock12 - whether the user has opted for a 12-hour clock display (e.g., AM/PM) instead of a 24-hour clock.
|
|
||||||
start_day_of_week - the user's start day of week (e.g., Monday, Sunday). This affects how weekly data is displayed in the app.
|
|
||||||
food_budget - whether the user has enabled a food budget feature, and the intensity level selected for it (e.g. maintenance, strict).
|
|
||||||
food_plan_estimation_enabled - whether the user has enabled food plan estimation feature.
|
|
||||||
legal_terms - the version of the legal terms the user has accepted.
|
|
||||||
sdk_developer_enabled - whether the user has enabled the SDK developer mode.
|
|
||||||
sdk_legal_terms_version - the version of the SDK legal terms the user has accepted.
|
|
||||||
weight_objective - the user's weight objective (e.g., lose, maintain, gain).
|
|
||||||
weight_track_start_date - the date the user started tracking their weight.
|
|
||||||
weight_goal_target_date - the user's weight goal target date.
|
|
||||||
food_database - the user's food database.
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
value_time,setting_name,setting_value
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxx,some/path
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxx,false
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxx,false
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxx,xxxxxx
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
UserMBDData Export
|
|
||||||
|
|
||||||
The User MBD data file contains measured body data including sensitive fields such as is_nursing, pregnant_state, body_constitution etc.
|
|
||||||
|
|
||||||
Files included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
UserMBDData.csv
|
|
||||||
|
|
||||||
The data for User MBD:
|
|
||||||
|
|
||||||
is_nursing - whether the user is nursing
|
|
||||||
pregnant_state - the pregnancy state of the user (not_pregnant, first_trimester etc.)
|
|
||||||
body_constitution - the body constitution of the user (unspecified,regular, lean)
|
|
||||||
hr_scaling_sleep_rest - the user's HR scaling sleep rest
|
|
||||||
stride_length_walking - the user's stride length walking (mm)
|
|
||||||
stride_length_running - the user's stride length running (mm)
|
|
||||||
auto_stride_length_walking - the user's auto stride length walking (mm)
|
|
||||||
auto_stride_length_running - the user's auto stride length running (mm)
|
|
||||||
auto_stride_enabled - whether the user's auto stride is enabled
|
|
||||||
auto_run_enabled - whether the user's auto run is enabled
|
|
||||||
activity_state - the user's activity state (sedentary, low_active, active etc.)
|
|
||||||
inactivity_alerts_days - the user's inactivity alerts days
|
|
||||||
sedentary_alert_times - the user's sedentary alert times
|
|
||||||
sedentary_prune_time - the user's sedentary prune time (UTC, no timezone offset)
|
|
||||||
stia_update_time - the user's STIA update time (UTC, no timezone offset)
|
|
||||||
sleep_proc_algorithm - the user's sleep process algorithm (unspecified, composite, sensitive)
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
value_time,setting_name,setting_value
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxx,false
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxx,false
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxx,xxxxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxx,false
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxx,xxxxxxxxxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxx,1111
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxx,1
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxx,2020-04-13T10:09:08.000000Z
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
UserProfileData Export
|
|
||||||
|
|
||||||
The User Profile data file contains identifying information for a user's Fitbit account, including biography, username, first name etc.
|
|
||||||
|
|
||||||
Files included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
UserProfileData.csv
|
|
||||||
|
|
||||||
The data for User Profile:
|
|
||||||
|
|
||||||
about_me - user biography, free text
|
|
||||||
display_name_preference - preference for display name (name, username, or full name)
|
|
||||||
|
|
||||||
Note that it is expected for migrated Google accounts to contain entries with default Fitbit values for first_name ("firstName") and last_name ("lastName").
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
value_time,setting_name,setting_value
|
|
||||||
2020-04-13 10:09:08+0000,xxxxxxxxxxxxxxxxxxxxxxx,xxxx
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
Sleep Scores
|
|
||||||
|
|
||||||
The below section is dedicated to the exported data of the Sleep Score data domain.
|
|
||||||
Sleep scores merge multiple sleep metrics (duration, composition, heart rate data)
|
|
||||||
into a summarized scoring system.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
UserSleepScores.csv
|
|
||||||
|
|
||||||
The data for sleep scores
|
|
||||||
user_id - the unique identifier of the user
|
|
||||||
sleep_id - the unique identifier of the sleep session
|
|
||||||
sleep_score_id - the unique identifier for the sleep score record
|
|
||||||
|
|
||||||
data_source - the method used to record this stage data (MANUAL, DERIVED, ACTIVELY_MEASURED, PASSIVELY_MEASURED)
|
|
||||||
|
|
||||||
score_utc_offset - timezone offset relative to UTC when the score was generated
|
|
||||||
score_time - the timestamp (UTC) when the score was generated
|
|
||||||
|
|
||||||
overall_score - the calculated overall sleep score
|
|
||||||
|
|
||||||
duration_score - sub-score reflecting duration alignment with sleep goals
|
|
||||||
composition_score - sub-score reflecting the ratio/balance of different sleep stages
|
|
||||||
revitalization_score - sub-score reflecting how restorative the sleep was (based on e.g. restlessness, HR, etc.)
|
|
||||||
|
|
||||||
sleep_time_minutes - total time spent asleep in minutes
|
|
||||||
deep_sleep_minutes - number of minutes spent in deep sleep
|
|
||||||
rem_sleep_percent - percentage of total sleep time in the REM stage
|
|
||||||
resting_heart_rate - measured resting heart rate during sleep
|
|
||||||
sleep_goal_minutes - the user's sleep goal, in minutes
|
|
||||||
|
|
||||||
waso_count_long_wakes - count of longer awakenings
|
|
||||||
waso_count_all_wake_time - total wake time after initially falling asleep
|
|
||||||
restlessness_normalized - a normalized measure of restlessness
|
|
||||||
hr_below_resting_hr - fraction of HR measurements that were below the previous day's resting HR
|
|
||||||
|
|
||||||
sleep_score_created - the creation timestamp of the sleep score record in UTC
|
|
||||||
sleep_score_last_updated - the last update timestamp of the sleep score record in UTC
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
sleep_id,sleep_score_id,data_source,score_utc_offset,score_time,overall_score,duration_score,composition_score,revitalization_score,sleep_time_minutes,deep_sleep_minutes,rem_sleep_percent,resting_heart_rate,sleep_goal_minutes,waso_count_long_wakes,waso_count_all_wake_time,restlessness_normalized,hr_below_resting_hr,sleep_score_created,sleep_score_last_updated
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,11.111111111111111,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.11111111111111,-1,-1,-1,111,11,11.11111111111111,11,111,1,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1,1,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,1.1111111111111111,11,111,11.1,11,1.111111111111111111,1.111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1,1,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
111111111111111111,11111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,11,11.11,11,111,1,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.11,-1,-1,-1,111,11,11.11,11,111,1.1111111111111111,11,1.11111111111111111,1.1111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1.111111111111111,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1,1,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,111,11.11,11,111,11.111111111111111,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,11,11.11,11,111,1,1,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1.111111111111111,11,1.1111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1.1111111111111111,11,1.1111111111111111,1.1111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.111111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,1,1,1.1111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,11,11.11,11,111,1,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,11,11.11,11,111,1.1111111111111111,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,11,11.11,11,111,11.111111111111111,11,1.1111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.111,-1,-1,-1,111,11,11.11,11,111,1.1111111111111111,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,+00:00,2020-04-13 10:09:08+0000,11.11,-1,-1,-1,111,11,11.11,11,111,11.1,11,1.111111111111111111,1.1111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxxxx,-00:00,2020-04-13 10:09:08+0000,11.1111111111111,-1,-1,-1,111,11,11.111111111111111,11,111,11.111111111111111,11,1.111111111111111111,1.11111111111111111,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
Sleep Stages
|
|
||||||
|
|
||||||
The below section is dedicated to the exported data of the Sleep Stage data domain.
|
|
||||||
Sleep stage data gives more detailed insight into how a user's sleep is distributed
|
|
||||||
across different stages.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
UserSleepStages.csv
|
|
||||||
|
|
||||||
The data for sleep stages
|
|
||||||
user_id - the unique identifier of the user
|
|
||||||
sleep_id - the unique identifier of the sleep session
|
|
||||||
sleep_stage_id - the unique identifier of the sleep stage entry
|
|
||||||
sleep_stage_type - the type of sleep stage (AWAKE, LIGHT, DEEP, REM)
|
|
||||||
|
|
||||||
start_utc_offset - timezone offset relative to UTC at the start of this sleep stage
|
|
||||||
sleep_stage_start - the start time of this sleep stage in UTC
|
|
||||||
|
|
||||||
end_utc_offset - timezone offset relative to UTC at the end of this sleep stage
|
|
||||||
sleep_stage_end - the end time of this sleep stage in UTC
|
|
||||||
|
|
||||||
data_source - the method used to record this stage data (MANUAL, DERIVED, ACTIVELY_MEASURED, PASSIVELY_MEASURED)
|
|
||||||
|
|
||||||
sleep_stage_created - the creation timestamp of the sleep stage record in UTC
|
|
||||||
sleep_stage_last_updated - the last update timestamp of the sleep stage record in UTC
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
sleep_id,sleep_stage_id,sleep_stage_type,start_utc_offset,sleep_stage_start,end_utc_offset,sleep_stage_end,data_source,sleep_stage_created,sleep_stage_last_updated
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxxxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,1111111111111111111,xxx,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
Sleeps
|
|
||||||
|
|
||||||
The below section is dedicated to the exported data of the Sleep data domain.
|
|
||||||
Sleeps are sent by the wearable device (or manually entered) and contain data about
|
|
||||||
the user's sleep sessions.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
UserSleeps.csv
|
|
||||||
|
|
||||||
The data for sleeps
|
|
||||||
user_id - the unique identifier of the user
|
|
||||||
sleep_id - the unique identifier of the sleep session
|
|
||||||
sleep_type - the type of the sleep session (CLASSIC, STAGES)
|
|
||||||
|
|
||||||
minutes_in_sleep_period - the total number of minutes between going to bed and final wake-up
|
|
||||||
minutes_after_wake_up - total minutes after the user wakes up until they leave bed or stop tracking
|
|
||||||
minutes_to_fall_asleep - number of minutes it took the user to fall asleep
|
|
||||||
minutes_asleep - the total number of minutes the user was actually asleep
|
|
||||||
minutes_awake - the total number of minutes awake during the sleep session
|
|
||||||
minutes_longest_awakening - duration (in minutes) of the single longest awakening
|
|
||||||
minutes_to_persistent_sleep - number of minutes between going to bed and the onset of sustained sleep
|
|
||||||
|
|
||||||
start_utc_offset - timezone offset relative to UTC at the start of the sleep
|
|
||||||
sleep_start - the start time of the sleep session in UTC
|
|
||||||
|
|
||||||
end_utc_offset - timezone offset relative to UTC at the end of the sleep
|
|
||||||
sleep_end - the end time of the sleep session in UTC
|
|
||||||
|
|
||||||
data_source - the method used to record this sleep (MANUAL, DERIVED, ACTIVELY_MEASURED, PASSIVELY_MEASURED)
|
|
||||||
|
|
||||||
sleep_created - the creation timestamp of the sleep record in UTC
|
|
||||||
sleep_last_updated - the last update timestamp of the sleep record in UTC
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
sleep_id,sleep_type,minutes_in_sleep_period,minutes_after_wake_up,minutes_to_fall_asleep,minutes_asleep,minutes_awake,minutes_longest_awakening,minutes_to_persistent_sleep,start_utc_offset,sleep_start,end_utc_offset,sleep_end,data_source,sleep_created,sleep_last_updated
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxxx,111,1,1,111,1,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxxx,111,1,1,11,1,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
111111111111111111,xxxxxx,111,1,1,111,11,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,1,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,11,1,1,-00:00,2020-04-13 10:09:08+0000,-00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,1,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,1,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxxx,11,1,1,11,1,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
1111111111111111111,xxxxxx,111,1,1,111,1,1,1,+00:00,2020-04-13 10:09:08+0000,+00:00,2020-04-13 10:09:08+0000,xxxxxxx,2020-04-13 10:09:08+0000,2020-04-13 10:09:08+0000
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,light,moderate,very,data source
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
||||||
xxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxx
|
|
||||||
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,heart rate zone,total minutes,data source
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
active_zone_minutes_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
heart rate zone - Heart rate zone: fat burn, cardio or peak.
|
|
||||||
total minutes - Total minutes equals to 1 for low intensity (fat burn) zones or 2 for high intensity zones (cardio, peak).
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,level,data source
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
activity_level_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Activity level categorizes how active one is during a certain time interval.
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
level - Label that categorizes the activity level. Values can be SEDENTARY, LIGHTLY_ACTIVE, MODERATELY_ACTIVE, VERY_ACTIVE.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,temperature celsius,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
body_temperature_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
temperature celsius - The body temperature in Celsius.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,calories,data source
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,heart rate zone type,kcal,data source
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1.11111,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
calories_in_heart_rate_zone_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
heart rate zone type - The heart rate zone type the calories were burned in.
|
|
||||||
kcal - Amount of calories burned in kilocalories.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
calories_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
calories - Number of calories burned.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,ratio,label,data source
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.11111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.11111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.11111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,xxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
cardio_acute_chronic_workload_ratio.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Cardio acute chronic workload ratio represents how recent load compares with longer term regular load. Used to determine if the user is over or under-training.
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date at which the entry was logged in UTC.
|
|
||||||
ratio - Cardio acute chronic workload ratio value.
|
|
||||||
label - Label interpreting the ratio value. Values can be UNDER_TRAINING, OPTIMAL_TRAINING or OVER_TRAINING.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,workout,background,total,data source
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.111111111111111,1.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.11111111111111111,1.11111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1111111111111111,1.1111111111111111,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,min observed load,max observed load,data source
|
|
||||||
2020-04-13,1.1,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.11111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.11111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.11111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.11111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.11111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1,11.11111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.1111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.111111111111111,11.111111111111111,xxxxxxxxxx
|
|
||||||
2020-04-13,1.111111111111111,11.11111111111111,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
cardio_load_observed_interval.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Cardio load observed interval measures the personalized cardio load interval for a user.
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date at which the entry was logged in UTC.
|
|
||||||
min observed load - Average of top 3 lowest cardio load values over a period of 4 weeks.
|
|
||||||
max observed load - average of top 3 highest cardio load values over a period of 4 weeks.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
cardio_load_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Cardio load also known as cardio exertion. Indicates the load on the cardiovascular system.
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
workout - Cardio load accrued during workouts.
|
|
||||||
background - Cardio load accrued outside of workouts.
|
|
||||||
total - Total cardio load, sum of workout and background cardio load.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,average heart rate variability milliseconds,non rem heart rate beats per minute,entropy,deep sleep root mean square of successive differences milliseconds,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,11.1,1.111,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,11.1,1.11,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,1.111,11.1,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
daily_heart_rate_variability.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
average heart rate variability milliseconds - The average of a user's heart rate variability during sleep. Heart rate variability is calculated as the root mean square of successive differences (RMSSD) of heartbeat intervals.
|
|
||||||
non rem heart rate beats per minute - Non-REM heart rate
|
|
||||||
entropy - The Shanon entropy of heartbeat intervals.
|
|
||||||
deep sleep root mean square of successive differences milliseconds - The root mean square of successive differences (RMSSD) of heartbeat intervals during deep sleep.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,heart_rate_zone,data source
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
daily_heart_rate_zones.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
heart_rate_zone - Heart rate zone information.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
timestamp,average percentage,lower bound percentage,upper bound percentage,baseline percentage,standard deviation percentage,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,111.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,111.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,11.1,11.1,11.1,1.1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
daily_oxygen_saturation_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
average percentage - Average percentage of the day's absolute spo2.
|
|
||||||
lower bound percentage - Lower bound percentage of the day's absolute spo2.
|
|
||||||
upper bound percentage - Upper bound percentage of the day's absolute spo2.
|
|
||||||
baseline percentage - Baseline percentage of the day's absolute spo2.
|
|
||||||
standard deviation percentage - Standard deviation percentage of the day's absolute spo2.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
timestamp,score,type,readiness level,sleep readiness,heart rate variability readiness,resting heart rate readiness,data source
|
|
||||||
2020-04-13,11,xxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxx,xxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxx,xxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxx,xxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxx,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxx,xxxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxxxxx,xxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,111,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxxxxx,xxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxxxx,xxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13,11,xxxx,xxxxxxxxxxxxxxxx,xxxxxxxxx,xxxx,xxx,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
daily_readiness.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Daily Readiness represents how ready the user is for activity, based on sleep, heart rate variability and resting heart rate.
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date at which the entry was logged in UTC.
|
|
||||||
score - Overall score based on the other metrics. Values can range from 1 to 100.
|
|
||||||
type - Overall readiness rating type. Values can be LOW, MEDIUM or HIGH.
|
|
||||||
readiness level - Readiness rating level. Values can be VERY LOW, LOW, BALANCED, HIGH, PEAK.
|
|
||||||
sleep readiness - Readiness rating based on sleep. Values can be VERY LOW, LOW, MEDIUM, HIGH, VERY HIGH, IGNORED or NOT AVAILABLE.
|
|
||||||
heart rate variability readiness - Readiness rating based on heart rate variability. Values can be VERY LOW, LOW, MEDIUM, HIGH, VERY HIGH.
|
|
||||||
resting heart rate readiness - Readiness rating based on resting heart rate. Values can be VERY LOW, LOW, MEDIUM, HIGH, VERY HIGH or IGNORED.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,breaths per minute,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
daily_respiratory_rate.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
breaths per minute - The number of breaths per minute.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,beats per minute,data source
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.111,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
daily_resting_heart_rate.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
beats per minute - The resting heart rate for the day.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,demographic vo2max,data source
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11111,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
demographic_vo2max.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Demographic VO2Max contains information about a user's VO2 max score for a specific day, representing the maximum rate of oxygen the body is able to use during exercises.
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
demographic vo2max - VO2 Max value in ml/kg/min
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,distance,data source
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.11,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
distance_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
distance - Distance covered in meters.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,beats per minute,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
heart_rate_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
beats per minute - Number of heart's beats per minute.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,root mean square of successive differences milliseconds,standard deviation milliseconds,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
heart_rate_variability_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
root mean square of successive differences milliseconds - The root mean square of successive differences between normal heartbeats.
|
|
||||||
standard deviation milliseconds - The standard deviation of the heart rate variability measurement.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
timestamp,height millimeters,data source
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1111,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
height.csv - Contains all data for this type.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
height millimeters - Height of the user in milimeters.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,steps,distance millimeters,altitude gain millimeters,data source
|
|
||||||
2020-04-13T10:09:08Z,1,1,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,1111,1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
live_pace_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
steps - Number of steps taken during the activity.
|
|
||||||
distance millimeters - Distance covered during the activity in millimeters.
|
|
||||||
altitude gain millimeters - Gain in altitude during the activity in millimeters.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,oxygen saturation percentage,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
oxygen_saturation_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
oxygen saturation percentage - The oxygen saturation percentage. Valid values are from 0 to 100.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,deep sleep stats - milli breaths per minute,deep sleep stats - standard deviation milli breaths per minute,deep sleep stats - signal to noise,light sleep stats - milli breaths per minute,light sleep stats - standard deviation milli breaths per minute,light sleep stats - signal to noise,rem sleep stats - milli breaths per minute,rem sleep stats - standard deviation milli breaths per minute,rem sleep stats - signal to noise,full sleep stats - milli breaths per minute,full sleep stats - standard deviation milli breaths per minute,full sleep stats - signal to noise,data source
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,11.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,11.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,1.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,11.1,1.1,1.1,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
respiratory_rate_sleep_summary_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
deep sleep stats - milli breaths per minute - Deep sleep milli breaths per minute.
|
|
||||||
deep sleep stats - standard deviation milli breaths per minute - Deep sleep standard deviation milli breaths per minute.
|
|
||||||
deep sleep stats - signal to noise - Deep sleep signal to noise.
|
|
||||||
light sleep stats - milli breaths per minute - Light sleep milli breaths per minute.
|
|
||||||
light sleep stats - standard deviation milli breaths per minute - Light sleep standard deviation milli breaths per minute.
|
|
||||||
light sleep stats - signal to noise - Light sleep signal to noise.
|
|
||||||
rem sleep stats - milli breaths per minute - REM sleep milli breaths per minute.
|
|
||||||
rem sleep stats - standard deviation milli breaths per minute - REM sleep standard deviation milli breaths per minute.
|
|
||||||
rem sleep stats - signal to noise - REM sleep signal to noise.
|
|
||||||
full sleep stats - milli breaths per minute - Full sleep milli breaths per minute.
|
|
||||||
full sleep stats - standard deviation milli breaths per minute - Full sleep standard deviation milli breaths per minute.
|
|
||||||
full sleep stats - signal to noise - Full sleep signal to noise.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
start time,end time,data source
|
|
||||||
2020-04-13T10:09:08Z,2020-04-13T10:09:08Z,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,2020-04-13T10:09:08Z,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
sedentary_period_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
start time - Start date and time of the sedentary period.
|
|
||||||
end time - End date and time of the sedentary period.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,steps,data source
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,11,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,1,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
steps_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
steps - Number of recorded steps.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,lap time,stroke count,stroke type,data source
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,11,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,11,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,11,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,11,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxxxxxx,1,xxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxx
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
swim_lengths_data_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
lap time - Time to complete a lap.
|
|
||||||
stroke count - Number of strokes.
|
|
||||||
stroke type - Stroke type. Values can be FREESTYLE, BACKSTROKE, BREASTSTROKE or BUTTERFLY.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
timestamp,heart rate zone type,data source
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
2020-04-13T10:09:08Z,xxxxx,xxxxxxxxxx
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Time Series Data Export
|
|
||||||
|
|
||||||
The Time Series export provides a detailed timeline of your tracked activity.
|
|
||||||
|
|
||||||
Files Included:
|
|
||||||
----------
|
|
||||||
|
|
||||||
time_in_heart_rate_zone_YYYY-MM-DD.csv - Where YYYY-MM-DD is the starting date for the entries in the file.
|
|
||||||
|
|
||||||
Each entry has the following values:
|
|
||||||
|
|
||||||
timestamp - Date and time at which the entry was logged.
|
|
||||||
heart rate zone type - The heart rate zone in which the user spent time. The possible values are: LIGHT, MODERATE, VIGOROUS, PEAK.
|
|
||||||
data source - The origin or source of this data.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
timestamp,weight grams,data source
|
|
||||||
2020-04-13T10:09:08Z,11111,xxxxxxxxxx
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue