2017-09-30 2 views
0

Ich versuche, Daten aus Smartsheet mit C# SDK zu lesen. Ich kann Blattinformationen erhalten, aber Spaltendetails wie ColumnId sind Null.C# Smartsheet-API: Kann ColumnId nicht erhalten

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

using Smartsheet.Api; 
using Smartsheet.Api.Models; 
using Smartsheet.Api.OAuth; 

namespace SmartSheetTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string token = "MY_TOKEN"; 
      long sheetid = MY_SHEET_ID; 

      SmartsheetClient sc = new SmartsheetBuilder().SetAccessToken(token).Build(); 

      Sheet sheet = sc.SheetResources.GetSheet(sheetid, null, null, null, null, null, null, null); 

      Console.WriteLine("Done"); 
      Console.ReadLine(); 
     } 
    } 
} 

Das Ergebnis ist unten. Nur Spaltentyp und Titel sind gefüllt. Andere Objekte sind Null

ColumnId Null

Wie kann ich die Spalteneigenschaften erhalten?

SDK Version: 2.2.1

Antwort

1

Jede Spalte im sheet Objekt, das durch die GetSheet Antwort bevölkert ist immer einen Wert für die folgenden Eigenschaften, auf ein Minimum enthalten:

  • Id
  • Index
  • Titel
  • Typ
  • Breite

Es ist durchaus möglich, dass einige der anderen Eigenschaften, die Sie im Debug-Modus sind zu sehen sein könnten null durch Design, aber jeder column in der Antwort sollte enthält immer einen Eigenschaftswert Id, den Sie anschließend in einer GetColumn-Anfrage verwenden können, um alle Spalteneigenschaftswerte abzurufen.

Ich kann Ihr Problem nicht reproduzieren. Ich habe den von Ihnen geposteten Code (mit Version 2.2.1 des Smartsheet C# SDK) verwendet, um ein Sheet abzurufen und die Eigenschaften mehrerer Spalten innerhalb des sheet Objekts zu untersuchen, das von der GetSheet Antwort ausgefüllt wird. Unabhängig davon, welches Blatt ich abrufen oder die Spalte I in Debug-Modus prüfen, die Eigenschaften, die oben aufgeführt sind immer bevölkert, wie dieser Screenshot gezeigt:

Column properties

Ein paar Vorschläge für die Fehlerbehebung:

  • Testen Sie dieses Szenario mit einem anderen Blatt. Wenn Sie das Problem nicht mit einem anderen Blatt reproduzieren können, dann gibt es vielleicht etwas Besonderes an dem einen Blatt, das verhindert, dass das Id Attribut in der GetSheet Antwort auftaucht.

  • Wenn Sie dieses Problem mit einem anderen Blatt wiederholen können, dann versuchen Sie vielleicht das gleiche Szenario mit dieser Beispielanwendung zu testen: https://github.com/smartsheet-samples/csharp-read-write-sheet. Hinweis - Sie müssen das Smartsheet C# SDK NuGet-Paket auf Version 2.2.1 aktualisieren, um genau das Szenario nachzuahmen, das Sie testen möchten. (Ich benutzte diese Beispielanwendung in meinem (erfolglosen) Versuch, Ihr Problem zu wiederholen.)

+0

Danke @kim für Ihre ausführliche Antwort. Ich habe bereits Ihre Vorschläge ausprobiert 1. Versuchte verschiedene Blätter: Das gleiche Problem 2.Erprobte Beispielanwendung: Einfach heruntergeladene Beispiel-App und geänderte Konfiguration und Ausführung, gleicher Promelmangel 3. Versuchte Postbote: Funktioniert gut. Ich kann Spalten-ID und alle anderen Details in JSON-Antwort 4. Python: funktioniert gut Dieses Ding ist sicherlich etwas über Visual Studio, aber ich kann es nicht resole. Ich entschied mich, mit Python weiterzumachen. – Decoded

+0

Danke für das Update @Decoded. Es tut uns leid zu hören, dass Sie in Visual Studio nicht mit dem C# SDK arbeiten konnten, aber es freut mich zu hören, dass Sie mit Python weiterarbeiten können. –

+0

@Decoded, können Sie uns bitte Ihre Umgebung wissen lassen? Z.B. Betriebssystem und Entwickler-Tools. Ihr Screenshot sieht nicht wie Visual Studio aus - verwenden Sie VS Code? –

Verwandte Themen