3

APIを使用してGoogleスプレッドシートにアクセスしようとしています。彼らの例に従うと、コードは機能せず、その理由は明らかではありません。私がやろうとしているのは接続することだけです、そして私は同じエラーを返し続けます。これは、2010年4月15日現在のコードセットです。誰かが私が間違っていることについて何か提案をすることができますか?コード:

using System;
using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.Spreadsheets;




namespace google_spreadsheet
{
    class Program
    {
        static void Main(string[] args)
        {
            SpreadsheetsService myService = new SpreadsheetsService("MySpreadsheet" );
            myService.setUserCredentials("account@gmail.com", "xxxxxxx");
            string token1 = myService.QueryClientLoginToken();
            Console.WriteLine("token is {0}", token1);
            Console.ReadLine();
            SpreadsheetQuery query = new SpreadsheetQuery();
            SpreadsheetFeed feed = myService.Query(query);
           Console.WriteLine("list");
            foreach (SpreadsheetEntry entry in feed.Entries)
            {
                Console.WriteLine("Value: {0}", entry.Title.Text);

これを実行すると、myService.Queryステートメントでエラーが発生し続け、次のエラーが発生します。

Google.GData.Client.GDataRequestException was unhandled
  Message=Execution of request failed: http://spreadsheets.google.com/feeds/spreadsheets/private/full
  Source=Google.GData.Client
  ResponseString=<HTML>
<HEAD>
<TITLE>Not Found</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Not Found</H1>
<H2>Error 404</H2>
</BODY>
</HTML>

  StackTrace:
       at Google.GData.Client.GDataRequest.Execute()
       at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
       at Google.GData.Client.GDataGAuthRequest.Execute()
       at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince, String etag, Int64& contentLength)
       at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince)
       at Google.GData.Client.Service.Query(FeedQuery feedQuery)
       at Google.GData.Spreadsheets.SpreadsheetsService.Query(SpreadsheetQuery feedQuery)
       at google_spreadsheet.Program.Main(String[] args) in C:\Development Items\VS Projects\VS2008\google_spreadsheet\google_spreadsheet\Program.cs:line 21
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.Net.WebException
       Message=The remote server returned an error: (404) Not Found.
       Source=System
       StackTrace:
            at System.Net.HttpWebRequest.GetResponse()
            at Google.GData.Client.GDataRequest.Execute()
       InnerException: 

それでも、URL http://spreadsheets.google.com/feeds/spreadsheets/private/full を取得して、ユーザー名/パスワードを使用して手動で入力すると、正常に機能します。助言がありますか?ロッキーサンダースに感謝

4

2 に答える 2

0

ドキュメントクエリオブジェクトでURIを指定しないので、代わりにこれを試してください。

DocumentsService service = new DocumentsService("appName");
service.Credentials = new GDataCredentials("email@gmail.com", "password");

DocumentQuery query = new DocumentQuery("http://docs.google.com/feeds/default/private/full/-/contents");
query.Categories.Add(DocumentsListQuery.SPREADSHEETS);

var spreadsheets = service.Query(query).Entries.Cast<DocumentEntry>();
于 2010-10-12T09:58:04.413 に答える
0

Mono でも同様の問題がありました私の場合、SSL で使用される証明書に問題がありました。

于 2010-06-16T13:08:31.623 に答える