LibGit2Sharp ライブラリを使用して、認証されたユーザーの GitHub リポジトリを複製/プッシュしますが、LibGit2Sharp はユーザーを承認するためのアクセス トークンを受け入れません。
LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "username",
Password = "password"
};
そのため、Octokit.NET からアクセス トークンを取得しました。このトークンを使用して、LibGit2Sharp で承認されたユーザー リポジトリにプッシュしたいと考えています。
このトリックを行う方法はありますか?私がよく知っている場合、Octokit.NET は現時点でプッシュ リクエストを実行できませんでした。
アップデート
Carlos Martín Nieto と Ivan Zuzak が提案するように、コードを変更しました。
LibGit2Sharp.Credentials credentials = new UsernamePasswordCredentials()
{
Username = "the-access-token",
Password = string.Empty
};
そして、プッシュ ロジックを使用した後:
var pushOptions = new PushOptions() { Credentials = credentials};
Remote remote = repo.Network.Remotes["origin"];
LibGit2Sharp.Signature author = new LibGit2Sharp.Signature("name", "email", DateTime.Now);
repo.Network.Push(remote,"HEAD",@"refs/heads/master",pushOptions, author, null);
このロジックは、ハードコーディングされたユーザー名とパスワードで正常に機能しますが、最終行で例外が発生し、「 LibGit2Sharp.LibGit2SharpException: Request failed with status code: 403」と表示されます。
実装から何かを逃したか、または Push() メソッドで間違いを犯しましたか?
どうもありがとうございました!