lisz-works

プログラミングと興味を貴方に

VSCode拡張 vsce publishでエラー→解決:アクセストークン更新

【スポンサーリンク】

Visual Studio Code

こんにちわlisです!

VSCode拡張を「vsce publish」でリリースしようとしたところ、エラーが発生してリリースすることができませんでした。

エラーの原因と、解決する手順についてです!

エラー内容

VSCodeの拡張をリリースしようとして、「vsce publish」を叩きました。

するとこのようなエラーが……

>vsce publish minor
v0.3.0
This extension consists of 2121 files, out of which 1548 are JavaScript files. For performance reasons, you should bundle your extension: https://aka.ms/vscode-bundle-extension . You should also exclude unnecessary files by adding them to your .vscodeignore: https://aka.ms/vscode-vscodeignore
Publishing lis.hatenablogtools@0.3.0...
 ERROR  {"$id":"1","customProperties":{"Descriptor":null,"IdentityDisplayName":null,"Token":null,"RequestedPermissions":0,"NamespaceId":"00000000-0000-0000-0000-000000000000"},"innerException":nul
l,"message":"Access Denied: The Personal Access Token used has expired.","typeName":"Microsoft.VisualStudio.Services.Security.AccessCheckException, Microsoft.VisualStudio.Services.WebApi","typeKey":"AccessCheckException","errorCode":0,"eventId":3000}

エラー出力データをチェックする。

出力されたJSONをチェックするために、整形して

{
    "$id": "1",
    "customProperties": {
        "Descriptor": null,
        "IdentityDisplayName": null,
        "Token": null,
        "RequestedPermissions": 0,
        "NamespaceId": "00000000-0000-0000-0000-000000000000"
    },
    "innerException": null,
    "message": "Access Denied: The Personal Access Token used has expired.",
    "typeName": "Microsoft.VisualStudio.Services.Security.AccessCheckException, Microsoft.VisualStudio.Services.WebApi",
    "typeKey": "AccessCheckException",
    "errorCode": 0,
    "eventId": 3000
}

眺めると

"message": "Access Denied: The Personal Access Token used has expired.", (訳) "メッセージ": "アクセス拒否:使用されたパーソナルアクセストークンの有効期限が切れています。"

「クセストークンの有効期限切れ」が原因のようですね。

"Access Denied: The Personal Access Token used has expired."を解決していく

それではこのエラーを解決すべく、アクセストークンの再発行をしていきましょう!

Access Tokenの再発行

以前リリースするために作成したアクセストークンが有効期限切れで無効になっていたようです。

ということで、まずはマーケットプレイスにサインインします。

azure.microsoft.com

マーケットプレイスにサインイン

自分のアカウント情報にアクセスします。

アカウント情報へ移動

プロジェクトを選択。

プロジェクトを選択

自分のアイコンの左にある、ボタンを押すとメニューが出てきます。

ここから「Personal access tokens」を選択。

Personal access tokensへ

「New Token」をクリックしてアクセストークンの作成をしていきましょう!

New Token

入力/選択する項目は

アクセストークン設定入力項目

項目 入力値
Name 任意の名前
Organization All accessible organizations
Expiration (UTC) Custom defined - 最長に設定
Scopes Custom defined
Marketplace 全てチェック

保存するとアクセストークンが表示されるので、すかさずコピー!

新しいトークンを使ってログイン

vsce loginを使ってログイン→アクセストークンを書き換えします。

>vsce login <ユーザ名>
Publisher '<ユーザ名>' is already known
Do you want to overwrite its PAT? [y/N]

ログインしようとすると

「そのユーザもう知ってるよ。PAT(アクセストークン)上書きする?」

と聞いてきます。

「Y」を入力後、さきほどコピーしたアクセストークンを貼り付けてEnterしましょう。

これでアクセストークンが新しいものになりました!

VSCode拡張をリリース

あとは拡張をリリースするだけです!

> vsce publish

で拡張がリリースできます!

参考

コチラを参考にしました。ありがとうございました!

lab.syncer.jp

qiita.com

あとがき

vsce publishでのエラーを解決する方法でした!

久々にHatenaBlogToolsを更新しようと思ったら、発生したのでビックリしました……

とはいえ、蓋を開けたら大したことなかったんですが……

同じようなエラーが出たら是非参考にしてみてください!