Доступ к безопасной информации из Google Colab Laboratory - PullRequest
0 голосов
/ 17 апреля 2019

Я использую Google Colab Laboratory в качестве платформы для обучения веб-наукам (API, скребкам и т. Д.) На Python очень элементарным программистам. Я буду публиковать полученные тетради открыто и широко для использования другими инструкторами. Colab зарекомендовал себя как отличная платформа для работы с открытыми API, но самые популярные API закрыты, что создает трудности.

Я хочу, чтобы мои ученики работали, скажем, в Твиттере, с минимальным трением. Они могут получить личные ключи достаточно легко (я провожу их через это). Сложность в том, что я не хочу, чтобы представленные ими решения (полные .ipynb файлы) включали закрытые ключи, которые они вставляли в свой код. Я также не хочу предоставлять ключи уровня курса, потому что это имеет свои риски (я знаю, что раньше злоупотреблял предоставленными инструктором ключами).

Я изо всех сил пытаюсь найти модель, чтобы помочь любителям безопасно получать доступ к закрытым API через Colab. Моя история носит педагогический характер, но этот вопрос актуален для всех, кто использует Colab для доступа к закрытым API-интерфейсам, кто может поделиться своим кодом и кто не хочет помещать закрытые ключи на диск ..

1 Ответ

0 голосов
/ 17 апреля 2019

Написание вопроса помогло мне решить его. Мои ученики узнали, как выглядит JSON и как играть с вложенными словарями. Они уже использовали мои фрагменты, вызывающие код colab, для загрузки файлов непосредственно в операционную систему ноутбука (без необходимости проходить через диск):

import json
from google.colab import files

uploaded = files.upload()
data = json.loads( list( uploaded.values() ).pop().decode('utf-8') )

Если я дам им инструкции для ручного создания файла .json в следующем формате:

{
    'twitter' : { ... },
    'spotify' : { ... },
    'yelp'    : { ... }
}

и я говорю им, чтобы они были в безопасности и под рукой, тогда я смогу заставить их загружать этот файл всякий раз, когда они запускают ноутбук, который должен аутентифицироваться. Я могу написать им другой код, который анализирует файл и отправляет правильный ключ платформе записи.

Это мешает мне видеть их данные, оно не слишком громоздкое и сложное, оно дает им более непосредственный опыт работы с JSON, учит их некоторому осознанию безопасности, сохраняет их в безопасности, даже если они не заботятся о сознании безопасности (я у меня есть студенты, которые публикуют всю курсовую работу в общедоступном репозитории git; эти студенты быстро облажаются), и в ней используются навыки, которые уже изучены или просты в обучении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...