【问题标题】:Using the ruby-trello gem, how can I determine whether an organization is public or not?使用 ruby​​-trello gem,我如何确定一个组织是否是公开的?
【发布时间】:2018-12-01 12:08:10
【问题描述】:

这个问题是由这个提示的:

在 Trello API 中,我看到 boardsorganizations 都提供了带有 permissionLevel 值的 prefs 对象。

但是,gem 似乎只为板返回这些 prefs 值:

> board = Trello::Member.find('me').boards.first
> board.prefs['permissionLevel']
=> "org"
> org = Trello::Member.find('me').organizations.first
> org.prefs['permissionLevel']
Traceback (most recent call last):
        1: from (irb):11
NoMethodError (undefined method `prefs' for #<Trello::Organization:0x00007feb54459fd8>)

有没有办法使用 gem 获得组织的权限级别?

【问题讨论】:

  • 你为什么要为同一个问题创建两个问题,为什么不编辑第一个?
  • 我似乎记得看到一些问题因为没有专注于一个问题而受到批评。此外,虽然它们似乎与相同的根本原因有关,但我可以看到它们有不同的答案。
  • 不,你的问题都一样,只是查询不同的对象
  • 他们甚至没有查询不同的对象。在这两个问题中,您都显示 Board 响应 prefsOrganization 没有。
  • 假设我什至以正确的方式查询另一个问题中的 org 对象。文档没有明确指出这是唯一的选择。请考虑我发布的两个答案,也许这也是:stackoverflow.blog/2018/06/21/…

标签: ruby trello


【解决方案1】:

这是使用 gem 的解决方法:

> org = Trello::Member.find('me').organizations.first
> path = "/organizations/#{org.id}/prefs"
> response = org.client.get(path)
> org_prefs = JSON.parse(response.body)
=> {"permissionLevel"=>"public", "orgInviteRestrict"=>[], "externalMembersDisabled"=>false, "associatedDomain"=>nil, "googleAppsVersion"=>1, "boardVisibilityRestrict"=>{"private"=>"org", "org"=>"org", "public"=>"org"}}
> org_prefs['permissionLevel']
=> "public"

【讨论】:

    【解决方案2】:

    您使用的 gem 不支持组织对象中的 prefs,您可以验证 here 但实际的 Trello API 确实具有该字段,因此您可以查找其他为您提供该数据的 gem 或调用不使用 gem 直接调用 API

    【讨论】:

      猜你喜欢
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      相关资源
      最近更新 更多