我的最终目标是从 Google 站点页面导入一些数据。 我正在尝试使用 gdata-python-client (v2.0.17) 下载特定的内容提要:
self.client = gdata.sites.client.SitesClient(source=SOURCE_APP_NAME)
self.client.client_login(USERNAME, PASSWORD, source=SOURCE_APP_NAME, service=self.client.auth_service)
self.client.site = SITE
self.client.domain = DOMAIN
uri = '%s?path=%s' % (self.client.MakeContentFeedUri(), '[PAGE PATH]')
feed = self.client.GetContentFeed(uri=uri)
entry = feed.entry[0]
...
结果 entry.content 有一个 xhtml 格式的页面内容。但是这棵树不包含页面中的任何计划文本数据。只有 html 页面结构和链接。
例如我的测试页有
<div>Some text</div>
ContentFeed 条目只有带有 text=None 的 div 节点。
我已经调试了 gdata-python-client 请求/响应并检查了原始缓冲区中来自服务器的已解析数据 - 内容中的任何计划文本数据。因此这是一个 Google API 错误。
可能有一些解决方法?也许我可以使用一些常见的请求参数?这里出了什么问题?
请您参考如下方法:
此代码适用于 Google Apps 域和 gdata 2.0.17:
import atom.data
import gdata.sites.client
import gdata.sites.data
client = gdata.sites.client.SitesClient(source='yourCo-yourAppName-v1', site='examplesite', domain='example.com')
client.ClientLogin('admin@example.com', 'examplepassword', client.source);
uri = '%s?path=%s' % (client.MakeContentFeedUri(), '/home')
feed = client.GetContentFeed(uri=uri)
entry = feed.entry[0]
print entry
鉴于它与您的几乎相同,但它可能会帮助您证明或反驳某些事情。祝你好运!
