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

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

ただいまの
回答率

90.54%

  • Unity

    3967questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

  • Google API

    521questions

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

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

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 244

主題

.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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

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/12 18:00

    遅れてしまいすみません。前提で書いてあることはEdit->ProjectSetting->PlayerでInspectorのOtherSettingsのConfiguration->Scripting Runtime Versionを.NEt4.x Equivalentにすることで合っているでしょうか?

    また上記をした場合、Install-Package Google.Apis.Sheets.v4を実行したらインストールができました。前提以外の部分は一体何をしているのでしょうか?回答文参照サイトを読ませていただいたのですが、DLLファイルの扱い方やその意味、UnityでのNuGetへの対応などわからないことが多く、理解できませんでした。

    キャンセル

  • 2018/06/12 18:45

    前提で書いた.NETのバージョンについては、質問者さんの言う通りであっています。説明が不十分で申し訳ないです。

    回答の後半では、NuGetが使えない場合に手動でパッケージ(DLL)をインストールする方法を書いています。が、NuGetが正常に動作しているなら不要な手順です。

    そちらの環境でNuGetのインストールコマンドは通っているようですが、Unity側で書いた独自のスクリプトから、Google Sheets APIの機能は利用できていますでしょうか?また、ビルドして正常に動作するでしょうか?自分はUnityでNuGetは利用できないと記憶していたもので…
    検索してみたところ、.NET 4.6ならNuGetを利用できたという例もあるようですが…

    キャンセル

  • 2018/06/16 19:20

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

    キャンセル

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

  • ただいまの回答率 90.54%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Unity

    3967questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

  • Google API

    521questions

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

  • トップ
  • Unityに関する質問
  • UnityでGoogleSheetAPIを利用しようとGoogle.Apis.Sheets.v4のパッケージインストールがしようとしたが失敗した