0

В моей прикладной программе я получаю ключи, которые построены в системе Python, записывая в хранилище данных Google.ndb.key() -> сделать это с помощью Javascript

Чтобы соответствовать данным, мне нужны идентификаторы этих элементов, и они находятся в строке «ключ».

Я не могу сделать key.id(), так как у меня нет Python, мне нужно «декодировать» его вручную, используя скрипт JavaScript/Google Apps.

Возможно ли это?

key = Key(urlsafe=url_string) 
kind_string = key.kind() 
ident = key.id() 
+0

Как вы получаете ключ в свой javascript в первую очередь? –

+0

Я получаю его с помощью REST из хранилища данных Google. Он сохраняется там как объект JSON-blob, который я декодирую и разбираю. Этот объект содержит ключевые строки в качестве ссылки, но я не могу использовать их напрямую. –

+0

Но [datastore JSON API] (https://cloud.google.com/datastore/docs/apis/v1beta2/key) должен предоставить вам уже декодированный ключ. –

ответ

1

Короткий ответ, нет. Более длинный ответ, не без большой работы. @ danielroseman объясняет это хорошо в своих комментариях.

Обычно ключи должны оставаться на сервере, поскольку они полезны только для ndb. Вы можете передать значение id = key.id() для создания нового ключа с new_key = ndb.Key(Model, id).

Если вы должны передать ключ, используйте safe_key = key.urlsafe() и восстановите его, используя ndb.Key(urlsafe=safe_key).