質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

3592閲覧

UnityでGoogleSheetAPIを利用しようとGoogle.Apis.Sheets.v4のパッケージインストールがしようとしたが失敗した

TsukasaIshihara

総合スコア14

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/06/09 12:41

###主題
.NETでのSheetAPIをUnityでVisualstudio2017を使ってC#のスクリプト作成をし実行しようと思ったのですがStep2のInstallパッケージの際にエラーが発生してしまいました。unityからではなく直接visualstudioから同じ作業をするとインストールできました。何が原因なのでしょうか?

※筆者はUnity初心者なので、ライブラリやパッケージの追加方法とか、Unityから作るスクリプトファイル(C#)とvisualstudioから作成するC#ファイルの違いを理解できてないです。また、今回.NETでのやつを参考にしていますが、.NETとC#はほぼ同じものだと思ってやってます

※.NETは投降時最新のものを入れているはずです。バージョンの確認の方法はわからなかったです

###エラー文

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
PM> Install-Package Google.Apis.Sheets.v4

'.NETFramework,Version=v3.5' を対象とするプロジェクト 'Assembly-CSharp' に関して、パッケージ 'Google.Apis.Sheets.v4.1.34.0.1240' の依存関係情報の収集を試行しています
依存関係情報の収集に 0.92 ms かかりました
DependencyBehavior 'Lowest' でパッケージ 'Google.Apis.Sheets.v4.1.34.0.1240' の依存関係の解決を試行しています
依存関係情報の解決に 0 ms かかりました
パッケージ 'Google.Apis.Sheets.v4.1.34.0.1240' をインストールするアクションを解決しています
パッケージ 'Google.Apis.Sheets.v4.1.34.0.1240' をインストールするアクションが解決されました
'nuget.org' からパッケージ 'Google.Apis.Sheets.v4 1.34.0.1240' を取得しています。
インストールに失敗しました。ロールバックします...
パッケージ 'Google.Apis.Sheets.v4.1.34.0.1240' はプロジェクト 'Assembly-CSharp' に存在しません
パッケージ 'Google.Apis.Sheets.v4.1.34.0.1240' はフォルダー 'C:\Users\(匿名)\UnityBook\Sheettest\packages' に存在しません
NuGet の操作の実行に 57.5 ms かかりました
Install-Package : パッケージ 'Google.Apis.Sheets.v4 1.34.0.1240' をインストールできませんでした。このパッケージを '.NETFramework,Version=v3.5' を対象とするプロジェクトにインストールし
ようとしていますが、そのフレームワークと互換性があるアセンブリ参照またはコンテンツ ファイルがパッケージに含まれていません。詳細については、パッケージの作成者に問い合わせてください。
発生場所 行:1 文字:1

  • Install-Package Google.Apis.Sheets.v4
  • + CategoryInfo : NotSpecified: (:) [Install-Package], Exception + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

経過した時間: 00:00:02.4735497
PM>
””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

###情報
・VisualStudioCommunity2017Ver15.6.6
・Unity 2017.4.1f1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前提としてこのパッケージは.NET 4の対応なので、PlayerSettingsからScripting Runtimeを.NET 4.xにします。

まず、残念なことに現状UnityはNuGetに対応してません。手動でDLLを集める必要があります。
方法の1つとして、 NuGetのサイト で該当のパッケージを検索し、手動でDLLのダウンロードを行い、プロジェクトに配置することはできます。ただし依存関係が多いので、Dependencies欄にある他のパッケージも手動で落とさないといけません。
落とした.nupkgファイルの実体はZIPなので、.zipにリネームして展開して中を探すとDLLが見つかります。

この方法だと依存関係が複雑で落とすDLLが多くなってミスりやすいので、ふたつめの方法としてVisualStudioで作った空プロジェクトにNuGetでパッケージを入れて、そこからDLLを抜き出す方法があります。少々面倒ですが、依存関係の収集をNuGetに任せるのでこちらの方が確実です。

抜き出したDLLはおそらくマネージドDLLとアンマネージドとがあると思いますので このへんこのへん を参照してインポートしてください。

投稿2018/06/10 05:10

ruccho

総合スコア285

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukasaIshihara

2018/06/12 09:00

遅れてしまいすみません。前提で書いてあることはEdit->ProjectSetting->PlayerでInspectorのOtherSettingsのConfiguration->Scripting Runtime Versionを.NEt4.x Equivalentにすることで合っているでしょうか? また上記をした場合、Install-Package Google.Apis.Sheets.v4を実行したらインストールができました。前提以外の部分は一体何をしているのでしょうか?回答文参照サイトを読ませていただいたのですが、DLLファイルの扱い方やその意味、UnityでのNuGetへの対応などわからないことが多く、理解できませんでした。
ruccho

2018/06/12 09:45

前提で書いた.NETのバージョンについては、質問者さんの言う通りであっています。説明が不十分で申し訳ないです。 回答の後半では、NuGetが使えない場合に手動でパッケージ(DLL)をインストールする方法を書いています。が、NuGetが正常に動作しているなら不要な手順です。 そちらの環境でNuGetのインストールコマンドは通っているようですが、Unity側で書いた独自のスクリプトから、Google Sheets APIの機能は利用できていますでしょうか?また、ビルドして正常に動作するでしょうか?自分はUnityでNuGetは利用できないと記憶していたもので… 検索してみたところ、.NET 4.6ならNuGetを利用できたという例もあるようですが…
TsukasaIshihara

2018/06/16 10:20

GoogleSheetsAPIの機能自体は使用はできない感じでした。rucchoさんの方法をやらないと無理そうですね。色々調べてやってみたのですが、私にはできなかったみたいです。期限も迫っているのでgooglesheetAPIによる直接的方法ではない他の方法を試したいと思います。GASを用いた方法をいまは模索中です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問