Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Smartsheet API附件_Vb.net_Smartsheet Api - Fatal编程技术网

Vb.net Smartsheet API附件

Vb.net Smartsheet API附件,vb.net,smartsheet-api,Vb.net,Smartsheet Api,我对smartsheet API中的附件有问题 它一直告诉我,这一行不支持文件路径格式 smartSheet.SheetResources.RowResources.AttachmentResources.AttachFile(id, 1, "N:\TEST\M-TST-12346\M-TST-12346-TV.pdf", "application/pdf") 任何帮助都会很棒 Public Sub GetSheetsInWorkspace(workspaceID As Int64)

我对smartsheet API中的附件有问题

它一直告诉我,这一行不支持文件路径格式

smartSheet.SheetResources.RowResources.AttachmentResources.AttachFile(id, 1, "N:\TEST\M-TST-12346\M-TST-12346-TV.pdf", "application/pdf")
任何帮助都会很棒

Public Sub GetSheetsInWorkspace(workspaceID As Int64)
        Dim workspace As Workspace
        workspace = smartSheet.WorkspaceResources.GetWorkspace(workspaceID, Nothing, Nothing)
        Dim folder As Folder
        folder = smartSheet.FolderResources.GetFolder(5398922303694724, Nothing)
        Dim sheets As List(Of Sheet)
        sheets = folder.Sheets
        For Each sheet In sheets
            If sheet.Name = "ALAN S. INPUT" Then
                Dim id
                id = sheet.Id
                smartSheet.SheetResources.RowResources.AttachmentResources.AttachFile(id, 1, "N:\TEST\M-TST-12346\M-TST-12346-TV.pdf", "application/pdf")
            End If
        Next
    End Sub

也许将您正在做的与SDK中提供的进行比较会有所帮助?具体地说,我链接到的文件中的AttachFileAndUrlToRow方法包含以下行,用于向行添加附件:

Attachment attachment = smartsheet.SheetResources.RowResources.AttachmentResources.AttachFile(sheetId, rowId, path, null);
…其中路径的值定义如下:

string path=“../../../IntegrationTestSDK/TestFile.txt”

将该测试代码与您发布的代码进行比较,我注意到一些差异:

  • 您的代码在文件路径中使用(单个)反斜杠(\),而SDK测试代码使用正斜杠(/)
  • 您指定的路径使用驱动器映射(N:\),而SDK测试代码指定的是相对路径
  • 您正在为最后一个参数(
    application/pdf
    )传递一个值,而SDK测试代码为最后一个参数指定了
    null
作为故障排除的第一步,可能需要对文件路径中的每个反斜杠进行转义,例如,为每个事件添加一个额外的反斜杠:

smartSheet.SheetResources.RowResources.AttachmentResources.AttachFile(id, 1, "N:\\TEST\\M-TST-12346\\M-TST-12346-TV.pdf", "application/pdf")
如果这不能解决您的问题,那么可以尝试将每个反斜杠更改为正斜杠(与SDK测试代码的功能一致):


此外(尽管可能与您的问题无关)--看起来您正在为rowId传递
1
,这是不正确的--rowId应该是一个GUID(例如,类似以下内容:
4583173393803140
).

将您所做的与SDK中提供的进行比较可能会有所帮助?具体地说,我链接到的文件中的AttachFileAndUrlToRow方法包含以下行,用于向行添加附件:

Attachment attachment = smartsheet.SheetResources.RowResources.AttachmentResources.AttachFile(sheetId, rowId, path, null);
…其中路径的值定义如下:

string path=“../../../IntegrationTestSDK/TestFile.txt”

将该测试代码与您发布的代码进行比较,我注意到一些差异:

  • 您的代码在文件路径中使用(单个)反斜杠(\),而SDK测试代码使用正斜杠(/)
  • 您指定的路径使用驱动器映射(N:\),而SDK测试代码指定的是相对路径
  • 您正在为最后一个参数(
    application/pdf
    )传递一个值,而SDK测试代码为最后一个参数指定了
    null
作为故障排除的第一步,可能需要对文件路径中的每个反斜杠进行转义,例如,为每个事件添加一个额外的反斜杠:

smartSheet.SheetResources.RowResources.AttachmentResources.AttachFile(id, 1, "N:\\TEST\\M-TST-12346\\M-TST-12346-TV.pdf", "application/pdf")
如果这不能解决您的问题,那么可以尝试将每个反斜杠更改为正斜杠(与SDK测试代码的功能一致):


此外(尽管可能与您的问题无关)--看起来您正在为rowId传递一个
1
值,这是不正确的--rowId应该是一个GUID(例如,类似这样的东西:
4583173393803140
)。

附加文件的第二个参数是rowId,而不是行号。我相信您的“未找到”错误是由于未找到该行 要获取第一行的id,需要调用SheetResources.GetSheet()来获取行对象的集合

顺便说一句,反斜杠不应该在VB字符串中转义

尝试这样的代码

mySheet = ss.SheetResources.GetSheet(sheetId, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)
Dim rowId As Long
rowId = mySheet.Rows.First.Id
ss.SheetResources.RowResources.AttachmentResources.AttachFile(sheetId, rowId, "C:\tmp\test.pdf", "application/pdf")

AttachFile的第二个参数是rowId,而不是row number。我相信您的“未找到”错误是由于未找到该行 要获取第一行的id,需要调用SheetResources.GetSheet()来获取行对象的集合

顺便说一句,反斜杠不应该在VB字符串中转义

尝试这样的代码

mySheet = ss.SheetResources.GetSheet(sheetId, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)
Dim rowId As Long
rowId = mySheet.Rows.First.Id
ss.SheetResources.RowResources.AttachmentResources.AttachFile(sheetId, rowId, "C:\tmp\test.pdf", "application/pdf")

我开始认为这是罗伊德。如果我将路径更改为正确的路径,它会喜欢它,但现在会给我一个错误“未找到”。不是那条路。。。只是“找不到”。我相信这和罗维德有关。我可以抓住它。。。但是它告诉我这个表有0行,我知道它有。我还要挖一些。谢谢你的意见!我现在就去拿。我必须打开SheetResources才能获取Row.ID。谢谢你!!我开始认为这是罗伊德。如果我将路径更改为正确的路径,它会喜欢它,但现在会给我一个错误“未找到”。不是那条路。。。只是“找不到”。我相信这和罗维德有关。我可以抓住它。。。但是它告诉我这个表有0行,我知道它有。我还要挖一些。谢谢你的意见!我现在就去拿。我必须打开SheetResources才能获取Row.ID。谢谢你!!这正是我想出来的。我以为我可以从sheets中的工作表中获取rowId,但这不适用于和row值。相反,我不得不从保存行信息的SheetResources中对工作表进行分级。谢谢你的帮助!!!这正是我想出来的。我以为我可以从sheets中的工作表中获取rowId,但这不适用于和row值。相反,我不得不从保存行信息的SheetResources中对工作表进行分级。谢谢你的帮助!!!