2010-06-04 6 views
3

Essayer d'accéder à des feuilles de calcul Google à l'aide de leur API. en suivant leur exemple, le code ne marche pas, et ce n'est pas évident pourquoi. Tout ce que j'essaie de faire, c'est de me connecter, et je continue de retrouver la même erreur. C'est avec leur jeu de code à partir du 15/04/10. Quelqu'un peut-il offrir une suggestion sur ce que je fais mal? CodE:Impossible de se connecter en C# et google tableur api

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("[email protected]", "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); 

Quand je lance cela, il garde la moindre erreur à la déclaration de myService.Query, avec l'erreur suivante:

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: 

Et pourtant, je peux prendre l'url http://spreadsheets.google.com/feeds/spreadsheets/private/full et manuellement tapez-le avec mon nom d'utilisateur/mot de passe, et cela fonctionne très bien. Aucune suggestion? merci ponceuses rocheuses

+0

essayer d'y accéder en utilisant SSL. ça peut être des travaux. –

Répondre

0

J'avais un similar problem avec Mono. Dans mon cas, c'était un problème avec les certificats, utilisés par SSL.

0

je crois qu'il est Becus u din't spécifier Uri dans le document objet de requête essayer au lieu

DocumentsService service = new DocumentsService("appName"); 
service.Credentials = new GDataCredentials("[email protected]", "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>(); 
Questions connexes