Error 5262: "Unable to create the requested cell link(s). The source data is no longer accessible."

Options

Hi,

I'm getting this error message when attempting to create a link from a cell in another sheet (through creating a cell, a row, and then update_rows method). Has anyone seen this error? I'm reading a discussion on another thread that this error is related to some issue with profile data (?), but I can create this link manually, i.e. with Smartsheet interface...

Many thanks in advance for any help!

Tomasz

Answers

  • Genevieve P.
    Genevieve P. Employee Admin
    Options

    Hi @tkaczoro

    If you're able to take the action in the UI, you should be able to take that action using the API, you're correct.

    Is it possible that the row you're referencing to update no longer exists? (e.g. the row ID is incorrect). Can you confirm the SDK version that you're using?

    This may be best to troubleshoot with Support directly so you can share private information (such as screen captures and code examples).

    Cheers,

    Genevieve

  • tkaczoro
    tkaczoro ✭✭
    edited 04/04/23
    Options

    Hi @Genevieve P. ,

    Thank you for responding. No, it is not possible that the rows referenced (from both sheet A and sheet B) do not exist. I can print to console contents of those rows during execution of the code. Python SDK version is 2.177.1.

    I reached out to Support yesterday, currently awaiting their response...

    Best regards,

    Tomasz

  • Genevieve P.
    Genevieve P. Employee Admin
    Options

    Hi @tkaczoro

    Thanks for clarifying! Would you be able to test using the current Python SDK version 3.0.0 to see if this resolves the error?

    Cheers,

    Genevieve

  • tkaczoro
    tkaczoro ✭✭
    edited 04/05/23
    Options

    Hi @Genevieve P.,

    I tested using the current  Python SDK version 3.0.0 and unfortunately it did not resolve the problem.

    Here is the essential part of the code , maybe it can help in troubleshooting:

    row = Row()
    row._id_ = Number(sheetA_row_id)
    cells = TypedList(Cell)
    cell = Cell()
    explicitnull = ExplicitNull()
    cell._value = explicitnull
    cell._column_id = Number(A_column_id)
    celllink = CellLink()
    celllink._column_id = Number(B_column_id)
    celllink._row_id = Number(sheetB_row_id)
    celllink._sheet_id = Number(sheetB_id)
    _celllink = TypedObject(CellLink)
    _celllink.value = celllink
    cell._link_in_from_cell = _celllink
    cells.insert(0, cell)
    row._cells = cells
    
    row_update = smartsheet.sheets.Sheets.update_rows(sheets, sheetA_id, row)
    

    Thank you,

    Tomasz

  • Genevieve P.
    Genevieve P. Employee Admin
    edited 04/14/23
    Options

    Hi @tkaczoro

    Thanks for testing! Can you clarify a little more in regards to the sheet you're updating?

    What is the column type that you're adding the cell-link into, and are you the owner of both sheets?

    Are you able to use the same code (but on a different sheet) successfully?

    Are you using Project Settings on this sheet at all?

    It would be helpful to see a screen capture of your sheet; I'd like to recreate your set-up.

    Thanks!

    Genevieve

  • tkaczoro
    Options

    Hi @Genevieve P.,

    Please see attached screenshots of the sheets. Also, here is the full code (I re-wrote it for clarity and to align with popular style/format):

    import smartsheet.sheets
    from smartsheet.models import Row, Cell, CellLink, ExplicitNull
    
    smart = smartsheet.Smartsheet(access_token='xxxxxxxxxxxxxxxxxxxxxxxxxxxx')
    sheets = smartsheet.sheets.Sheets(smart)
    
    sheetA_id = 4349218560206724
    sheetA_row_id = 1839828046440324
    sheetA_column_id = 7140800557016964
    
    sheetB_id = 412818613790596
    sheetB_row_id = 3312344608925572
    sheetB_column_id = 360134934849412
    
    row = Row()
    row.id = sheetA_row_id
    cell = Cell()
    cell.value = ExplicitNull()
    cell.column_id = sheetA_column_id
    celllink = CellLink()
    celllink.column_id = sheetB_column_id
    celllink.row_id = sheetB_row_id
    celllink.sheet_id = sheetB_id
    cell.link_in_from_cell = celllink
    row.cells.append(cell)
    
    row_update = smartsheet.sheets.Sheets.update_rows(sheets, sheetA_id, row)
    

    I'm currently the owner of both sheets. The columns are Text/Number type (I also tested Date columns), the cells that are to be linked are selected in the screenshots.

    I have not tried the code on completely different sheets, but I also tried admin(sheetA)/owner(sheetB) and when both sheets are in the same workspace.

    I have not tried changing anything in Project Settings. Is there anything to try there?

    Thank you!


  • Genevieve P.
    Genevieve P. Employee Admin
    Options

    Hi @tkaczoro

    This is all really helpful information - I can't replicate the error you're getting. The Project Settings question would be in relation to what column you're putting the link into, but from your images I can see you're using the Comments column, which should be fine.

    The last thing to test is to use two completely new, different sheets (changing the Sheet Ids, the Column Ids, and the Row Ids). This will determine if it's an issue with theses two specific sheets or with the API.

    If performing this action works fine on new sheets, please follow-up with Support letting them know of your tests along with the two sheet IDs of the ones that aren't working for you.

    I hope you have a good weekend!

    Genevieve

  • tkaczoro
    Options

    Hi @Genevieve P. ,

    Great suggestion. I made this test - created two new sheets A and B and attempted to link some cells with my code. It worked!

    So it looks like the problem is specific to my sheets I'm trying to link. I will let Support know about this finding.

    Thank you very much for all your help! Wish you a nice weekend too!

    Tomasz

  • Genevieve P.
    Genevieve P. Employee Admin
    Options

    I'm glad you were able to get it working on new sheets! Thanks for following up. 🙂

  • tkaczoro
    Options

    Hi @Genevieve P.,

    After a long time testing different scenarios I was finally able to find the root cause. It was a typo in my code that gave row id of sheet A when it was supposed to be the value from sheet B.

    Thank you very much for your help with this. I will make sure next time to check the code multiple times before posting the issue.

    Best regards,

    Tomasz

  • Genevieve P.
    Genevieve P. Employee Admin
    Options

    Hi @tkaczoro

    I'm so glad to hear that you were able to identify the issue and get this working again!