與集成最難的部分谷歌云端硬盤正在使用谷歌控制台.

很好記錄在案.
但是,由於訪問 Google Drive 所需的範圍比說的更敏感, JMP 的 Google 表格集成,自 JMP 17 起,與 Google Drive 的集成目前不是 JMP 的一部分。
話雖如此,最近我遇到了一個 JMP 用戶JMP 發現收集數據並將其存儲在 Google Drive 上。 數據格式為CSV由於各種原因,但主要是由於 Google Sheet 的限制。 他說,如果他能定期將 csv 數據輸入 JMP 以便進行分析,他(和他的同事)的生活會更輕鬆。 他知道他可以下載 csv 文件然後將其導入 JMP,但他真的在尋找“簡單的按鈕”。
因此,我開始閱讀我在 Google 控制台上的筆記以及如何註冊 Web 應用程序。你可以很容易地得到一個開發者(就像我一樣),但谷歌會限制你的流量,除非你通過他們的驗證過程.
我強烈推薦,即使它只是一個內部應用程序。
因此,在 [使用 Google 控制台插入您的小時數] 之後,您將擁有使用 JMP 登錄 Google Drive 所需的部分。
- 重定向網址
- client_id
- client_secret
選擇時註冊應用程序時使用的所有內容OAuth2授權。
請記住,由於您使用的是應用程序,因此您需要確保已啟用 Google Drive API。

另一個重要的部分是範圍. 範圍控制用戶在連接到註冊的 Web 應用程序時允許的權限。 這是完全地取決於您要使用的 Google API。 例如,附加的腳本使用:
Openid 和 Profile 是“標準的”認證和授權,而其餘的範圍需要從您的谷歌驅動器讀取和下載數據. 如果您仍在閱讀,那麼好消息是 JMP Scripting Index 有一個使用 Google 進行身份驗證的示例。

它是第二例子在裡面獲取授權標頭條目,這是我在編寫附加腳本時開始的。 在腳本中你可以看到一一對應的重定向網址,客戶 ID, client_secret等與您在註冊的網絡應用程序中具有的屬性。
在附加的腳本中,我添加了一個額外的家務項目。 我希望用戶體驗是,授權一次,然後保存刷新令牌在本地,因此不會提示我再次登錄 Google。 本地保存的時候是不是加密,因此您需要將其保存在私人位置。 附加的腳本使用
- $USER_APPDATA/GoogleDriveTokens.json
這樣做是從磁盤加載 refresh_token(如果可用)得到一個訪問令牌來自 Google 的 refresh_token,然後你認證和授權. 該腳本所做的最後一件事是將其保存回磁盤。 這新 OAuth2()如果當前令牌每次都過期,JSL 對象將繼續獲取令牌oauth2 << 獲取身份驗證標頭()用來。 在這種情況下,每次向 Google Drive 發出請求時都會調用 Get Auth Header。
一般流程後身份驗證和授權已經發生是端點

用於枚舉在 Google Drive 上找到的文件。 經過默認, 只要100被返回,所以在腳本中我將它增加到1000 (最大值)。
值得注意的是,JMP 17 具有
這將顯示長 HTTP 請求操作的進度條。
從返回休息電話是JSON , 變成了關聯數組和ParseJON . 如果您無法可視化 JSON 數據結構(我有時會這樣做),我將 JSON 複製/粘貼到JSON 編輯器擴展鉻。
當腳本處理返回的文件時,它會保留元數據
元數據的重要部分是文件ID . Google 在後續對 Google Drive 的文件訪問中使用 fileid。 在我們的例子中,我們想要下載 .csv 和 .csv.gz 文件並在 JMP 中打開它們。 因此,腳本會遍歷上一步中的 file_ids 並下載數據。

獲取文件內容的關鍵是:
- QueryString(["alt" => "media"])
它告訴 Google Drive 將文件的內容髮送回 JMP。 該腳本檢查啞劇類型文件元數據中的文件,但也可以從 HTTP 請求中檢查 mimeType。
在任何情況下,mimeType:
需要解壓以獲取 csv 內容,而 mimeType
是 csv 文件本身的內容
最後,一旦獲得內容(並在需要時解壓縮)
- dt = 打開(斑點,文本); //打開前無需保存到文件系統
將處理打開數據而不向系統分頁
希望這個腳本足以讓您在與 Google Drive 集成方面搶先一步。 我覺得這很有趣,我很感謝客戶提出這個問題。
順便說一句,如果您卡在 Google 控制台上,可以在這裡提問。 我(或其他人)可能會幫忙。