2016-07-27 76 views
0

因此,我正在從Qualtrics v3 API中提取數據,並希望每晚都提取數據。我怎樣才能把所有的數據拉到一個晚上,並在第二天晚上回來,並把所有的新數據都拉出來。調查有一個參數稱爲「lastModified」,它是最後修改的日期。Python Qualtrics數據

下面是一個例子呼籲:爲Python 3.X

url = 'https://yourdatacenterid.qualtrics.com/API/v3/surveys' 
header = {'X-API-TOKEN': ''} 

req = urllib.request.Request(url,None,header) #generating the request object 

handler = urllib.request.urlopen(req) #running the request object 

print(handler.status) #print status code 
print(handler.reason) 

這裏 進口urllib.request裏#默認模塊的JSON的例子:我想你想

{ 
    "result": { 
"elements": [ 
    { 
    "id": "SV_0D54a3emdOh7bBH", 
    "name": "Imported Survey", 
    "ownerId": "UR_8CywXqaSNzzu1Bb", 
    "lastModified": "2013-10-22T20:12:33Z", 
    "isActive": true 
    }, 
    ... 
], 
    "nextPage": "https://yourdatacenterid.qualtrics.com/API/v3/surveys?  offset=10" 
    }, 
    "meta": { 
    "httpStatus": "200 - OK" 
    } 
} 
+0

這不是一個很好的問題,但我的答案只是做你所描述的事情...所以每晚查詢它,只查詢新的東西。不知道JSON是什麼樣子,因爲你沒有發佈數據的例子,但它可能有時間戳(不知道'lastModified'是否有效)。或者你可以檢查,看看你是否已經擁有它 - >查詢中的數據:如果數據不在last_nights_data :((寫數據到某處)) – SAMO

+0

我非常抱歉,我更新了它的響應和通話。 –

+0

不用擔心,謝謝上傳這些東西!你知道'lastModified'的性質嗎?在不同的日子裏,事情被修改了嗎?如果是這樣,你將不得不使用我提到的第二種方法。因此,檢查新的數據與舊的。 – SAMO

回答

0

使用responseexports而不是調查。保存每天檢索的最後一個響應ID。然後,您可以使用lastResponseId參數指定開始提取新數據的位置。

+0

您是否熟悉質量響應導出?我會去使用它,但因爲我目前沒有啓用API,所以我無法玩弄它。你有這個電話的任何例子嗎? –

+0

你不覺得上述建議不起作用嗎? –

+0

我還沒有開始在v3中實現responseexports。我已經在v2.5中實現了它的等價物。上述建議不起作用,因爲它基於調查。這隻給你關於調查的信息(ID,名字等);它不返回任何響應數據。即使這樣做,比較數據以找出新內容的方法完全沒有必要,因爲responseexports調用使用lastResponseId參數。 –