Использование Admanager Python API в блокноте Colab - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь заставить Google AdManager API работать в блокноте Colab.

Следуя инструкциям здесь Мне удалось создать свой собственный файл конфигурации YAML, загрузить его в записную книжку Colab и выполнить базовый вызов службы NetworkService.Все идет хорошо и ведет себя как ожидалось, возвращая ожидаемое имя сети и идентификатор.

Затем я пытаюсь добавить еще несколько запросов, таких как this , и получаю следующее сообщение об ошибке:

FileNotFoundError                         Traceback (most recent call last)
    /usr/local/lib/python3.6/dist-packages/googleads/common.py in LoadFromStorage(path, product_yaml_key, required_client_values, optional_product_values)
        279   try:
    --> 280     with open(path, 'rb') as handle:
        281       yaml_doc = handle.read()


FileNotFoundError: [Errno 2] No such file or directory: '/root/googleads.yaml',

During handling of the above exception, another exception occurred:

GoogleAdsValueError                       Traceback (most recent call last)
<ipython-input-14-ed9b34dcaa81> in <module>()
     25 if __name__ == '__main__':
     26   # Initialize client object.
---> 27   ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()
     28   main(ad_manager_client)

/usr/local/lib/python3.6/dist-packages/googleads/ad_manager.py in LoadFromStorage(cls, path)
    202     return cls(**googleads.common.LoadFromStorage(
    203         path, cls._YAML_KEY, cls._REQUIRED_INIT_VALUES,
--> 204         cls._OPTIONAL_INIT_VALUES))
    205 
    206   def __init__(self, oauth2_client, application_name, network_code=None,

/usr/local/lib/python3.6/dist-packages/googleads/common.py in LoadFromStorage(path, product_yaml_key, required_client_values, optional_product_values)
    282   except IOError:
    283     raise googleads.errors.GoogleAdsValueError(
--> 284         'Given yaml file, %s, could not be opened.' % path)
    285 
    286   try:

GoogleAdsValueError: Given yaml file, /root/googleads.yaml, could not be opened.

И это несмотря на то, что один и тот же файл yaml, загруженный в папку ноутбука (content/googleads.yaml), прекрасно работает с первым запросом.

Любая помощь приветствуется.

Спасибо!

PS: просто чтобы вы знали, я все еще нахожусь в младенчестве с Python.

1 Ответ

0 голосов
/ 18 декабря 2018

Было бы легче помочь вам, если бы вы включили минимальный репро блокнот, показывающий, что работает, а что нет.Хотя догадываться в темноте: у того, что сработало, был дополнительный код, который ищет в текущем каталоге файл YAML, а у того, который этого не сделал.Простейшим решением может быть создание символической ссылки, например:

!ln -s /content/googleads.yaml /root/googleads.yaml
...