当前位置: 首页 > 知识库问答 >
问题:

邀请新合作者Github API-Laravel PHP

孙项禹
2023-03-14

大家好,我正试图通过github api向我的组织添加一个合作者我正在使用Laravel我已经安装了Graham\github包和KNPLAB/php github api。

当我var_转储一个已经存在的成员时,我会得到一个数组,它的成员状态很好,但我不能每次都手动添加成员。

实际上,我想向任何github用户发出邀请,邀请他们使用github api作为成员加入该组织。

添加或更新组织成员资格

如果用户与团队的组织无关,此终结点将通过电子邮件向用户发送邀请。在用户接受邀请之前,这个新创建的成员资格将处于“未决”状态,此时成员资格将过渡到“活跃”状态,用户将被添加为团队成员。若要在非关联用户和团队之间添加成员资格,经过身份验证的用户必须是组织所有者。

我在库中添加的所有功能与现有用户一起工作,但当我尝试邀请时没有发现错误可能是什么错误?

public function createOrgMember($org, $username)
{
    return $this->get('/orgs/'.rawurlencode($org).'/memberships/'.rawurlencode($username));
}


public function addCollaborator($owner, $repo, $username)
{
    return $this->get('/repos/'.rawurlencode($owner).'/'.rawurlencode($repo).'/collaborators/'.rawurlencode($username));
}

public function createTeamMember($id, $username)
{
    return $this->get('/teams/'.rawurlencode($id).'/memberships/'.rawurlencode($username));
}

这适用于现有用户,但不邀请新用户我得到错误未找到

public function createMember()
{
  GitHub::connection('main')->organizations()->createOrgMember('retry24', 'project24retry');
}

array:6 [▼
 "url" => "https://api.github.com/orgs/retry24/memberships/project24retry"
 "state" => "active"
 "role" => "admin"
 "organization_url" => "https://api.github.com/orgs/retry24"
 "user" => array:17 [▶]
"organization" => array:11 [▶]
]

但这不起作用

public function createMember()
{
  GitHub::connection('main')->organizations()->createOrgMember('retry24', 'david-dacruz');
}

这是表格

{{ Form::open(['route' => 'frontend.user.createMember',
'method' => 'PUT'
])}}

{{ Form::submit('Submit', ['type' => 'submit']) }}

{{ Form::close() }}

路线

Route::put('dashboard/github', 'DashboardController@createMember')->name('createMember');

谢谢你!

共有1个答案

吕扬
2023-03-14

我发现我试图编码一个库函数的问题已经存在了。

org.php类

 use Github\Api\Organization\Members;

 public function members()
{
    return new Members($this->client);
}

在这个类中,我想要创建的方法已经存在:

Members.php

namespace Github\Api\Organization;

public function add($organization, $username)
{
    return $this->put('orgs/'.rawurlencode($organization).'/memberships/'.rawurlencode($username));
}

然后,您可以邀请成员,就像邀请将处于挂起状态一样,用户将收到一封邮件以加入组织,一旦他或她接受加入,成员的状态将从挂起变为活动状态。

GitHub::connection('other')->organizations()->members()->add($organization, $username);
 类似资料:
  • 你的企业已经创建并注册成功了,现在,你要做的是让企业成员加入到企业中。 在正式邀请之前,你需要先进行企业通讯录的导入。它不仅可以帮你快速组建组织架构,更能提高邀请成员的效率。 导入通讯录 如果你的企业已有全员通讯录,你可以在企业微信导入通讯录后,一键发送微信、邮件和短信邀请。 1 / 批量导入通讯录 设置入口:【管理后台】>【通讯录】>【批量导入/导出】查看 有以下三种导入方式可供选择: EXCE

  • 快速拉起成员使用,一起高效协同办公。 后台批量导入通讯录 ● 设置入口: 钉钉管理后台-通讯录-批量导入/导出-下载通讯录模板,批量上传,钉钉会给未注册的用户发送激活短信。 访问钉钉管理后台-点击通讯录 点击批量导入/导出 下载通讯录模板,批量上传 手机钉钉添加 ● 设置入口:企业通讯录-员工/部门管理 手机钉钉-通讯录,点击管理 企业通讯录-员工/部门管理 可批量添加手机联系人,或单个添加和管理

  • ●进入地图编辑界面点击右上角更多按钮—>选择"协作成员"按钮。 ●进入权限管理页面—>点击"地图成员"或是"图层成员"—>进行协作成员添加。 ●地图成员有两种添加成员方式: 1)从团队成员中邀请 2)通过手机号码邀请 ●移除成员在协作成员页面点击成员右侧移除按钮,进行移除。 ●记录协作成员添加方式 1)选择记录—>在信息窗点击协作—>点击加号,选择成员进行添加 2)删除直接点击成员后边差号即可删除

  • 1)手机端:通讯录-我的企业-管理-设置新人新人邀请 2)电脑端:企业管理-权限设置-成员邀请

  • 添加邀请人员有两种类型: 对已注册成员的邀请 对未注册成员的邀请 添加“已注册”成员的两种邀请方式: 方式一:尚未成为团队成员的已注册用户,直接输入手机号码添加,点击“邀请” 方式二:已经加入到该团队,直接在团队成员里搜索添加 添加“未注册”成员的两种邀请方式: 方式一:链接邀请 1.点击“链接邀请” 2.进入链接页面,点击“复制链接” 3.被邀请人员收到链接复制在网页里面 “未注册”过的用户收到

  • 我在我的游戏中做了一个回合制的多人模式。我想知道的是如何将一些比赛设置传递给受邀者(如果我是邀请者)。例如,我创建游戏:我设置回合时间、回合时间和判断类型,被邀请者如何知道这些信息以便游戏使用这些数据操作(显示计时器和计数步数/字母/杀戮/等等)?谢谢大家!我想要得到的是:玩家创建游戏:他设置一个回合和一轮的时间,然后他决定使用哪些附加物(我有4个),然后选择游戏如何选择获胜者(根据什么标准)。然