你好。我想知道我是否可以依靠FME桌面来完成ETL作业,这些作业需要从Google G-Suite用户目录中读取(尤其是对于组成员)。谷歌有一些对我们有用的群体信息,但不幸的是,它不在我们的Active Directory中……所以我们需要从这两个源中提取,以收集我们想要的与用户相关的数据。
我正在使用FME更新(插入模式)现有的Google Fusion表。我的FME工作区运行成功,没有错误,显示它写入了特性。然而,Google Fusion表显示未插入任何编辑或功能。有什么想法吗?我的google fusion writer拥有google fusion表所有者的证书,因此权限不应该成为问题。
谢谢,
萨沙
你好,在那儿
我们用的是谷歌读卡器,但是在FME服务器上发布时,我们正在获取访问错误
我们在服务器上测试了工作区,好像连身份认证页都没到,我认为这是由于服务器的限制,我们应该给系统管理员什么URL来清除它
谢谢
我正在阅读谷歌的工作表,并使用emailer transformer发送电子邮件,桌面上一切正常,但是在服务器上发布时,它会给出这个错误
谷歌工作表:访问此服务需要一个刷新令牌
我确实从google consol上得到了客户ID和密钥,但仍然给我同样的错误
知道吗?
嘿,所有的,
只是想知道是否有人知道如何写一个全新的谷歌工作表到一个文件夹?
我有以下文件和文件夹目录结构:
我想让fme创建谷歌表格,“my drive/statistics/”文件夹中的“2018”自动(无需用户干预)。但是无论我是否包含字符串“my drive/statistics/”,或者文件夹ID&“/”,它总是将新工作表写入驱动器的根目录。如果google表已经存在,这不是问题。
你好!
我们对谷歌的工作表编写器超时和失败存在问题。我和一个支持我的人一起工作,他们真的很有帮助,但我们没有解决。我的老板想知道——这可能是我们这边的防火墙问题吗?如果是这样,需要打开哪些端口来通信?
非常感谢!克里斯汀
我们可以从谷歌驱动器的文件夹中列出任何文件,并添加有用的属性,比如 _文件\上次修改时间或沙拉布尔链接。但是我们不阅读和列出实际的谷歌项目,比如表单,文档,陈述等。
附加到本文的工作区,详细描述如下:将指导您如何创建可视日历仪表板,如上所述,用于FME服务器。此工作流严亚搏在线重依赖于由完整日历以及利用谷歌日历和FME服务器REST API。工作区可以安排在FME服务器上运行,为您提供更新的FME服务器计划何时运行的概述!
了解如何创建自己的FME服务器时间表的“可视化日历”仪表板。
FME桌面和服务器(2017.1.2或更新版本)
谷歌账户(开发人员密钥对于日历API)
fmeserverschedules-calendarview2017.fmw
1.获取Google帐户和日历API密钥
创建Google帐户(或使用现有帐户)并访问谷歌开发人员API仪表盘.在这里,您必须启用Google日历API,然后创建一个API密钥——有很多很好的“如何”资源可提供帮助。
2.第2条。公开Google日历并确定Google日历ID
这个工作流程的逻辑围绕着读写现有的公共亚搏在线谷歌日历。您可以使用您在Google帐户上创建的任何日历,或链接到外部的。记住,它必须是公开的!重要的是要搜索当前说明如果您需要确定日历ID的帮助。
三。获取FME服务器令牌
为了让此工作流从F亚搏在线ME服务器收集详细信息,你需要获得一个有效的费梅肯访问其余的API。最好从作为fmeadmin角色成员的用户处获取令牌。
第四章。工作区和模板HTML
下载所附的FME工作区。您可以将FME设置为“带提示运行”,并用前三个步骤中获得的信息替换所有默认值。
要更详细地查看工作区,读工作区概述下面。
5.发布到FME服务器并配置发布的参数
将此工作区发布到FME服务器。您可以手动运行工作区,也可以将其配置为按计划每天运行。只需确保调整所有已发布的参数以匹配您的独特值-瞧!一个可视化日历,供您查看所有的FME服务器计划。
书签1。获取FME服务器计划列表
创建者转换器使用空特性启动工作流以调用httpcaller。亚搏在线然后,这个转换器从FME服务器REST API收集响应,/以前/ v3 /时间表,所有的FME服务器计划。返回的是JSON格式,FeatureWriter将输出保存到文件中,以便稍后在工作区中使用。
书签2。获取Google日历事件ID并全部删除
此工作流中的下一个httpCaller收集列表,亚搏在线同样在JSON中,通过访问google calendar rest api端点,可以查看google日历中的所有事件。JSonFlatener和ListExploder将每个事件作为一个单独的功能公开,供FME处理。然后,此书签中的第二个httpcaller针对每个日历事件发出delete命令–此操作是必需的,因为此工作流没有逻辑来确定哪些FME服务器计划已经作为事件存在。亚搏在线这里使用采样器转换器来减少流入下一个书签的特性的数量。
注:这会有效地删除指定谷歌日历中的每个项目。注意这一点很重要!
书签3。将每个调度读取为Feature并禁用过滤器
FeatureReader将读取之前保存的JSON响应——如果以前没有使用采样器,此转换器将通过多次读取同一数据集来创建冗余功能。attributeExposer和listExposer的组合为每个FME服务器计划创建了一个单独的功能。testfilter只会删除任何在谷歌日历中不重要的禁用计划。
书签4.为Google日历REST API创建和格式化JSON
这里有很多变形金刚可以进行属性操作。attributeexpler和AttributeValueMapper协同工作,确保FME服务器的REST API返回的值与谷歌Calendar REST API兼容。日期时间转换器,日期时间计算器,而且,再一次,这里使用datetimeconverter为每个FME服务器计划提供任意长度(30分钟)。attributeManager创建一个JSON格式的字符串,用于传递给GoogleCalendarRESTAPI。使用jsonvalidator确保不会拒绝字符串。
书签5。将FME服务器计划发布到Google日历
这里再次使用httpcaller与GoogleCalendarRESTAPI进行交互。此转换器配置为将所有FME服务器计划作为唯一事件发布或添加到谷歌日历中。另一个采样器用于减少流向下一个书签的特征计数。
书签6。HTML模板魔术
如果以前没有使用过采样器,然后,对于发布到谷歌日历上的每个FME服务器计划,会有一个新的HTML文件被写入——这不会非常有效。这里放置的attributeCreator包含所有使用的原始HTML,许多已发布的参数引用允许基于用户输入的动态输出。HTML编写器被配置为将生成的输出放入FME服务器上的适当仪表盘存储库中,在该存储库中,它将自动在Web界面的仪表盘页面上可用。
请注意,没有维护此工作区的计划,或此知识中心文章的内容。如果您想提出更多问题或共享对此工作流的增强功能,亚搏在线请在上面开始一个线程FME社亚搏国际在线官网区问答你说什么?
是否有人使用SSL连接成功连接到谷歌云SQL数据库?如果是,它在桌面和FME云上工作吗?
谢谢!
能够创建到谷歌云SQL数据库的SSL连接。目前这不是一个选择,您无法添加/关联三个必需的文件。当然,一旦我们可以在桌面上这样做,就可以在FME Cloud上使用这个连接信息了。
非SSL连接工作正常。
客户端密钥
客户端证书
授权证书
嗨,大家好,
我对FME和GIS很陌生,所以如果我弄错了任何术语,我很抱歉!
为了让你跑下来,我用一个esriasciegrid文件创建了一个锡面。然后,我提取了它的边界,以在.shp文件中得到一个示意图。
有了这个,我正在尝试从谷歌地球或谷歌/必应地图下载卫星图像(稍后覆盖在表面)。
尝试1:
将.shp文件导入谷歌地球,然后,我尝试从.shp文件中导出多边形区段的图像。我不知道怎么做,所以我刚用4K分辨率手动保存了一张来自谷歌地球的图像,以红色显示多边形的范围。
有没有一种方法可以让FME检测到一个红色的多边形,并在这个多边形周围剪切图像?然后,是否可以将地理空间数据添加到此图像以匹配先前创建的曲面?
我已经通读了这个帖子但是我不能让它工作,但是谢谢@takashi因为这有助于我更好地理解FME。
尝试2:
使用谷歌静态地图API。我已经通读了这个帖子(谢谢你@JDH公司)谷歌地图API文档已经能够查看图像,但我能得到的最高分辨率是640x640。我也有同样的问题,把它的范围缩小到表面的边界。
感谢所有花时间阅读这篇文章的人,如果我走错了路,有一个简单得多的解决方案,我很感激你的任何想法。
再次感谢你,
TJ
编辑:我刚刚设法使用bings静态映射REST服务从曲面边界框的范围导出图像。我是通过手动将东距/北距转换为纬度/经度来实现的。
在FME中是否有方法实现这种转换?
再次感谢,
TJ
如果能在TeamDrive中写入Google表单,那就太好了。
https://cloud.google.com/存储/
我将客户端数据从谷歌工作表添加到一些shapefile中。我目前在线阅读的文件与我的gmail符号在信息,但这不是一个可行的解决方案,以纳入一个自动化的工作流程。亚搏在线因为这些不是我的档案,但是由客户生成,我不知道如何使用刷新令牌或OAuth2。我对这一切都很陌生,这些事情对我来说都没有意义。关于如何阅读这些文档有什么建议吗?
FME设置了GoogleWeb服务连接范围,这样用户就可以使用各种转换器(如GoogleDriveConnector或httpCaller)进行读写。一些用户可能希望限制其连接的范围,以便授予更有限的权限集,例如,防止意外写入。解决方案是基于现有Web服务定义创建新的Web服务定义,并进一步限制范围。这可以在FME工作台界面中轻松完成。
步骤1:
在PC上:从FME工作台,打开FME选项:
在Mac上:从FME工作台,打开“首选项”菜单:
步骤2:
转到“Web连接”选项卡,单击右下角的“管理服务”按钮
第3步:
单击左侧服务列表下方+按钮上的向下箭头。将鼠标悬停在“创建自”上,然后选择要限制其范围的Google服务。
步骤4:
为这个新服务命名。使用窗体中的顶部字段。例如,如果将范围限制为只读,您可以将web服务谷歌驱动器命名为只读。
步骤5:
单击“授权参数”下的“URL”字段。作用域查询参数应位于字段末尾。默认情况下为:
范围=https://www.googleapis.com/auth/drive更改此参数以根据 Google API的作用域.例如,要创建只读连接,可以将作用域设置为:
https://accounts.google.com/o/oauth2/auth?response_type=code&prompt=select_account&scope=https://www.googleapis.com/auth/drive.readonly
步骤6:
点击“应用”,然后点击“关闭”,返回“FME选项”/“首选项”的“网络连接”选项卡。现在,您可以使用新创建的服务创建新的Web连接,该服务将限制在您选择的范围内。要创建新连接,请单击““连接”表下的按钮。在结果对话框的“Web服务”字段中,选择新的Web服务,命名新连接并进行身份验证。
第7步:
在结果窗口中验证范围是否按预期受到限制:
第8步:
在FME中使用这个连接,就像使用原始连接一样。
注:FME不会根据作用域过滤连接,因此即使结果调用失败,也有可能选择您的连接。例如,如果你创建一个只读的谷歌驱动器连接,即使选择了GoogleDriveConnector的“上载”选项,您的连接也将可用。在这种情况下,由于权限不足,连接器将在运行时失败。