WindowsでJavaをコンパイルした時に、表題のエラーが出るときがあります。
原因
- ソースコードとWindowsのJava環境で扱う文字コードの違い。
解決策
- コンパイル時の引数に -encoding UTF-8 を付ける
情報工学技術を利用した教育支援、いわゆる教育工学の研究やってます。研究に関係する技術動向(プログラミングねた)や、日常の覚書き、呟きなどを書いていこうかと思います。今のところ、初歩的なプログラムネタばっかりですが、、、、長い目でお付き合いください。
WindowsでJavaをコンパイルした時に、表題のエラーが出るときがあります。
原因
解決策
Google Classroom APIについては、GASのサンプルはネットによく出回っているのですが、Pythonでの記述方法がよくわからなかったので、メモ書きです。GASの場合と異なるのは、SCOPEの宣言をしないといけないのと、credentialsファイルの読み込みも必要になってくる点ですね。スコープを変更する際には、credentialsファイルも作り直す必要があるので要注意です。
SCOPES = ['https://www.googleapis.com/auth/classroom.courses.readonly' | |
,'https://www.googleapis.com/auth/classroom.rosters' | |
,'https://www.googleapis.com/auth/classroom.rosters.readonly' | |
,"https://www.googleapis.com/auth/classroom.profile.emails", | |
"https://www.googleapis.com/auth/classroom.profile.photos"] | |
def getGcStudentList(): | |
creds = None | |
if os.path.exists('token.json'): | |
creds = Credentials.from_authorized_user_file('token.json', SCOPES) | |
if not creds or not creds.valid: | |
if creds and creds.expired and creds.refresh_token: | |
creds.refresh(Request()) | |
else: | |
flow = InstalledAppFlow.from_client_secrets_file( | |
'credentials.json', SCOPES) | |
creds = flow.run_local_server(port=0) | |
with open('token.json', 'w') as token: | |
token.write(creds.to_json()) | |
try: | |
pagetoken ="" | |
service = build('classroom', 'v1', credentials=creds) | |
pageToken=None | |
while True: | |
params = {} | |
params["courseId"] = 00000000 #ここにコースのIDを書く | |
params["pageSize"] = 50 | |
if pageToken: | |
params["pageToken"] = pageToken | |
studentList = service.courses().students().list(**params).execute() | |
for student in studentList['students']: | |
print(student['profile']['emailAddress']) | |
pageToken = studentList.get('nextPageToken') | |
if not pageToken: | |
break | |
except HttpError as error: | |
print('An error occurred: %s' % error) |
最近は、WindowsでもBashが使えるようになったことから、GUIからCUIへ回帰する雰囲気がありますが、コマンドラインでVS Codeを使えると便利ですよね。実は、code で呼び出せるんですが、拡張機能をインストールしておく必要があります。
VSCodeのコマンドパレットを開き、「shell command install」で検索することで、
「シェルコマンド: PATH内に ‘code’ コマンドをインストールします」
を選ぶことで、呼び出しのコマンドが使えるようになります。
先日、OBS Studioのバージョンアップをしようとしたら、Cefsharp browsersubprocessを終わらせないといけない(意訳)というエラーがでて、インストールできない事象が発生。プロセスも複数あり、どれを終わらせてもゾンビのように復活。。。どのアプリが悪さをしているのか、、、とおもったら、DeepLでした。
DeepLを終了したら、そのプロセスも消え、無事インストール完了。