2016-06-29 9 views
2

Ich habe seit ein paar Stunden mit der Smartsheet-API gearbeitet und gelesen, und ich merke, dass ich bei allen Anfragen, die ich machen muss, entweder eine Zeilen-ID oder eine Spalten-ID benötige. Ich muss hier etwas leicht übersehen haben, aber wo finde ich diese IDs? Werden sie durch eine Abfrage oder irgendwo auf dem tatsächlich sichtbaren Blatt gefunden?Wie finde ich eine Zeilen-ID oder eine Spalten-ID in Smartsheet?

Zur Zeit versuche ich, ein JSON-Objekt erstellen, um mich Blatt zu senden und das ist der Code, den ich habe:

MySS = smartsheet.Smartsheet('*****************') 
headers = {"Authorization": "Bearer *****************", "Content-Type": 'application/json', 
      "Accept": "application/json"} 
row = MySS.Sheets.get_row(***********, HOW_DO_I_GET_THIS, include='discussions,attachments,columns,columnType') 
r = requests.post("https://api.smartsheet.com/2.0/sheets/**********/rows", json=row, headers=headers) 

Die Fehlermeldung, die ich von diesem erhalten ist:

Traceback (most recent call last): 
    File "C:/Users/***/**/**/**/***", line 89, in <module> 
    headers=headers) 
    File "C:\Python27\lib\site-packages\requests\api.py", line 111, in post 
    return request('post', url, data=data, json=json, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\api.py", line 57, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 475, in request 
    resp = self.send(prep, **send_kwargs) 
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 585, in send 
    r = adapter.send(request, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\adapters.py", line 423, in send 
    for i in request.body: 
TypeError: 'Error' object is not iterable 

Ehrlich gesagt gibt sind wahrscheinlich viele Dinge falsch mit dem Code hier, ich brauche nur eine Richtung auf, wo die Zeile oder Spalte ID zu finden. Alle Hilfe ist dankbar, danke!

Antwort

4

Wenn Sie die Get Sheet Operation ausführen, wird die Antwort ein Sheet object sein, die (unter anderem) enthält, eine Sammlung von Reihen und eine Sammlung von Spalten, dass das Blatt enthält (einschließlich einem id Attribut für jede Zeile und jede Spalte).

Die Get Blatt Operation erfordert, dass Sie sheetId angeben. Sie können die ID eines Blattes entweder manuell über die Smartsheet-Benutzeroberfläche (über Sheet properties) oder über die API abrufen, indem Sie eine Operation verwenden, die Blattobjekte zurückgibt (z. B .: List Sheets, Get Folder, List All Contents, Search Everything usw.).