如何将邮递员历史记录从 chrome 应用程序复制到本机应用程序?

How to copy postman history from chrome app to native app?

由于 Google 现在将结束对 chrome 应用程序的支持。最近 Postman 弃用了他们的 chrome 应用并引入了原生应用。

我正在从邮递员 chrome 应用程序切换到本机应用程序。

如何将历史记录从我的 chrome 应用程序复制到本机应用程序。同步不起作用。 有导出数据的选项,但不会导出历史记录。

有什么想法吗?

因此,在搜索此内容时,我遇到了 this post,这非常有帮助。 感谢 stephan 分享此代码。 按照以下步骤将您的历史记录从 chrome 应用程序复制到本机应用程序。

//In Chrome DevTools on the background page of the Postman extension...

//A handy helper method that lets you save data from the console to a file
(function(console){

console.save = function(data, filename){

    if(!data) {
        console.error('Console.save: No data')
        return;
    }

    if(!filename) filename = 'console.json'

    if(typeof data === "object"){
        data = JSON.stringify(data, undefined, 4)
    }

    var blob = new Blob([data], {type: 'text/json'}),
        e    = document.createEvent('MouseEvents'),
        a    = document.createElement('a')

    a.download = filename
    a.href = window.URL.createObjectURL(blob)
    a.dataset.downloadurl =  ['text/json', a.download, a.href].join(':')
    e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
    a.dispatchEvent(e)
}
})(console)

//Common error reporting function
function reportError(){
console.error('Oops, something went wrong :-(');
}

//Open the database
var dbReq = indexedDB.open('postman')
dbReq.onerror = reportError;
dbReq.onsuccess = function(){
var db = dbReq.result;

//Query for all the saved requests
var requestReq = db.transaction(["requests"],"readwrite").objectStore('requests').getAll();
requestReq.onerror = reportError;
requestReq.onsuccess = function(){
 var requests = requestReq.result;
 
 //Dump them to a file
 console.save(JSON.stringify(requests), 'postman-requests-export.json')
 console.info('Your existing requests have been exported to a file and downloaded to your computer.  You will need to copy the contents of that file for the next part')
};
};


//Switch to standalone app and open the dev console

//Paste the text from the exported file here (overwriting the empty array)
var data = [] 

//Enter the guid/id of the workspace to import into.  Run the script with this value blank if you need some help
//  finding this value.  Also, be sure you don't end up with extra quotes if you copy/paste the value
var ws = ''; 

//Common error reporting function
function reportError(){
console.error('Oops, something went wrong :-(');
}

//Open the database
var dbReq = indexedDB.open('postman-app')
dbReq.onerror = reportError;
dbReq.onsuccess = function(){
var db = dbReq.result;

if(!data.length){
 console.error('You did not pass in any exported requests so there is nothing for this script to do.  Perhaps you forgot to paste your request data?');
 return;
}

if(!ws){
 var wsReq = db.transaction(["workspace"],"readwrite").objectStore('workspace').getAll();
 wsReq.onerror = reportError;
 wsReq.onsuccess = function(){
  console.error('You did not specify a workspace.  Below is a dump of all your workspaces.  Grab the guid (ID field) from the workspace you want these requests to show up under and include it at the top of this script');
  console.log(wsReq.result);
 }
 return;
}

data.forEach(function(a){
 a.workspace = ws;
 db.transaction(["history"],"readwrite").objectStore('history').add(a);
});

console.log('Requests have been imported.  Give it a second to finish up and then restart Postman')
}
//Restart Postman

注:

1.To 在您的 chrome 应用上使用 DevTools 您需要在
中启用以下标志 chrome://flags

2.Then 只需右键单击并检查您的 chrome postman 应用程序。

3.To 在您的本机应用程序上的用户 DevTools ctrl+shift+I (view->showDevTools)