我正在尝试使Google AdManager API可以在Colab笔记本中使用。
按照here的说明,我设法创建了自己的配置YAML文件,将其上传到Colab笔记本中并执行对NetworkService
服务的基本调用。一切正常,并按预期方式运行,并返回预期的网络名称和ID。
然后我尝试添加更多的请求,例如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.
尽管存在这样的事实,即在笔记本的文件夹(content/googleads.yaml
)中上载的相同yaml文件对于第一个请求而言效果很好。
任何帮助表示赞赏。
谢谢!
PS:只是让您知道,我仍处于Python的起步阶段。
答案 0 :(得分:0)
如果您包括一个最小的repro笔记本,它会显示什么有效和什么无效,这将更容易为您提供帮助。 但是,在黑暗中猜测:起作用的东西有多余的代码,它们在YAML文件的当前目录中查找,而没有的东西则没有。 最简单的解决方法可能是创建一个符号链接,例如:
!ln -s /content/googleads.yaml /root/googleads.yaml