kimsama / Unity-QuickSheet

Unity-QuickSheet enables you to use spreadsheet file data within Unity editor.

Home Page:http://kimsama.github.io/Unity-QuickSheet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed To Import / Download

lazism opened this issue · comments

안녕하세요 개발자님. 그동안 1년 이상 잘 사용하고 있다가, 어제부터 Import가 안되는 이슈가 생겼습니다.

Authentication도 문제없이 진행되는데, Import하려고 하면

123

이렇게 나오는데, 링크를 찾아서 들어가도 페이지가 없다고 나옵니다.

Download시 발생하는 에러는

System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The remote server returned an error: (401) Unknown authorization header.
at System.Net.HttpWebRequest+d__240.MoveNext () [0x00152] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x0001d] in :0
at System.Threading.Tasks.TaskFactory1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func2[T,TResult] endFunction, System.Action1[T] endAction, System.Threading.Tasks.Task1[TResult] promise, System.Boolean requiresSynchronization) [0x0000f] in <695d1cc93cca45069c528c15c9fdd749>:0 <---

이렇게 나옵니다.

구글 프로젝트 문제인가 싶어서 gcp에서 새로운 프로젝트로 시도해보았지만 여전히 되지 않았습니다. 해결방법이 있을까요?

오늘 다시 잘 작동하네요. 일시적인 문제였던것 같습니다. 이슈는 닫겠습니다

Sounds great! Cheers.

안녕하세요. 그이후로 이슈가 발생해서 이번엔 사라지지 않는데, 혹시 개발자님은 잘 되시나요? ㅠㅠ

Hi, Thanks for your great library.

I can no longer fetch from google spread sheet. After some research, Google Sheets API v3 may be deprecated and this may be need to move to API v4.

Intermittent 404 Errors on Google Sheet Feed

ScreenShot 2021-08-13 17 41 39

I'm also getting this error as well, and its stopping me from updating any text. When can we expect an update?

Hi, Thanks for your great library.

I can no longer fetch from google spread sheet. After some research, Google Sheets API v3 may be deprecated and this may be need to move to API v4.

Intermittent 404 Errors on Google Sheet Feed

ScreenShot 2021-08-13 17 41 39

I've got the same problem today. Does anybody have a solution?

Would you share more information about this?
Google Sheets API v3 may be deprecated and this may be need to move to API v4.

If API would be a problems, we may need to replace the existing DLLs. (not 100% sure)

I was looking into this myself, it looks like GData, the library that is used to talk to the spreadsheet API is now being deprecated and replaced with Spreadsheet API v4. Google say the GData version is still live, but obviously that isnt the case...

https://developers.google.com/gdata/docs/directory

There seems to be other projects that use API v4 in unity, so it is possible to get it working:
https://github.com/UniGameTeam/UniGame.GoogleSpreadsheetsImporter

I believe it is a case of removing the gdata DLL's and using this new API to do all the spreadsheet calls to pull down data.

I haven't tried to set this up yet, I just fell back to using the excel version for now as I needed to update copy in various projects.

My solution is: I removed this plugin from my project and wrote a wrapper for Google Sheets API v4. I imported the API using the Nuget package manager in Visual studio. Then I removed unnecessary plugins and kept only folders called "net45" and "net40" (for Google.Apis.Sheets.v4.1.54.0.2371). In the import settings of each plugin, I changed the "Editor" option to true so it's only is using in Unity Editor. Then I wrote few scripts to use the API. The samples of code you can find here . This API I use in Unity 2019.4.20f and everything works perfectly. Thanks, Google for the .NET API.
2021-08-19 12 28 10
2021-08-19 12 26 48

My solution is: I removed this plugin from my project and wrote a wrapper for Google Sheets API v4. I imported the API using the Nuget package manager in Visual studio. Then I removed unnecessary plugins and kept only folders called "net45" and "net40" (for Google.Apis.Sheets.v4.1.54.0.2371). In the import settings of each plugin, I changed the "Editor" option to true so it's only is using in Unity Editor. Then I wrote few scripts to use the API. The samples of code you can find here . This API I use in Unity 2019.4.20f and everything works perfectly. Thanks, Google for the .NET API.
2021-08-19 12 28 10
2021-08-19 12 26 48

does your solution import the text into the scriptable objects that quicksheets uses? Would you mind sharing some of your wrapper code?

I uploaded my solution sample. You have to modify the code for yourself.

https://github.com/YuriiZhuk/Google-Sheets-API-Wrapper-C-.git

@JonathanReid Thank you for sharing the info. If the cause of this problem is becasue of the change of Google API, it makes sense.

I believe it is a case of removing the gdata DLL's and using this new API to do all the spreadsheet calls to pull down data.

I agree. it would need replacing old APIs with new Spreadsheet API v4.

@YuriiZhuk
Thank you for sharing the code. I grasped quickly your code and just found that there's only some code for credentials.

You have to modify the code for yourself.

Meaning, it still needs to modify the rest of the code regarding Google API, correct? Hope to be very clarified because you've mentioned that "My Solution-" in your answer so, I wonder whether the above approach is the way can resolve the issue entirely.

@JonathanReid Thank you for sharing the info. If the cause of this problem is becasue of the change of Google API, it makes sense.

I believe it is a case of removing the gdata DLL's and using this new API to do all the spreadsheet calls to pull down data.

I agree. it would need replacing old APIs with new Spreadsheet API v4.

@YuriiZhuk
Thank you for sharing the code. I grasped quickly your code and just found that there's only some code for credentials.

You have to modify the code for yourself.

Meaning, it still needs to modify the rest of the code regarding Google API, correct? Hope to be very clarified because you've mentioned that "My Solution-" in your answer so, I wonder whether the above approach is the way can resolve the issue entirely.

I released my example which contains not only credentials code. There is a code that has authentication logic, code for getting Google sheets and using it with a scriptable object. "You have to modify the code for yourself." - it means that you have to set a value of the field called "spreadsheetId " to your spreadsheet id. Also if you want, you can change the path of a generated token or for a scriptable object. I described everything on my git-wiki page https://github.com/YuriiZhuk/Google-Sheets-API-Wrapper-C-/wiki.

Meaning, it still needs to modify the rest of the code regarding Google API, correct? Hope to be very clarified because you've mentioned that "My Solution-" in your answer so, I wonder whether the above approach is the way can resolve the issue entirely.

No. There is a configured code. As I mentioned above, you have to set the value of your spreadsheet to get the needed data. My solution doesn't use your plugin. Also, my solution uses OAuth 2.0 authentication. When you click on the "Import" button, your browser opens and you have to log in with Google. Just look up to my guide on the wiki page.

Heads up. We've got a blocker.
Google changed spreadsheet APIs recently and it blocks QuickSheet to work with Google Spreadsheet currently.
The workaround would be replacing old GData's APIs with the latest Spreadsheet API v4 as @JonathanReid pointed. Unfortunately, it would need some amount of time(=efforts 😓).
In the meantime, what @YuriiZhuk suggested way is writing your own plugin and out of the scope for the project. But thank you @YuriiZhuk for your feedback.

Sorry for the inconvenience and stay tuned till the workaround comes.

Cheers,

Hi, any update on this?

Not yet. Sorry for the delay. I'm too busy for a traveling even under the covid situation for a business.

You guys may need a bit more time.

Sorry again.

Not yet. Sorry for the delay. I'm too busy for a traveling even under the covid situation for a business.

You guys may need a bit more time.

Sorry again.

okiez do update here as well if it gets a fix!

Hi, any news about the workaround?

Hi, any news about the workaround?

I use my solution. It's still working fine.