Try looking in to he InnerException or even better. The "response string".
It would be something like this:

 "<HTML>
<HEAD>
<TITLE>Unknown authorization header</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unknown authorization header</H1>
<H2>Error 401</H2>
</BODY>
</HTML>"

this is just an example of an error.

[]'s
Geraldo Magella Junior Valadares


On Thu, Aug 25, 2011 at 18:35, Paul Chapman
<[email protected]>wrote:

> I have based the following on this article here;
>
>
> http://code.google.com/googleapps/marketplace/tutorial_dotnet.html#Integrate-OAuth
>
> I am trying to use OAuth to validate a user - and (for the moment) make a
> call to Google to retrieve Calendar events
>
> When the user clicks the following button
>
> <asp:ImageButton    ID="GoogleLogin"
>                     runat="server"
>                     OnCommand="GoogleLogin_Click"
>                     CommandArgument="https://www.google.com/accounts/o8/id";
>                     ImageUrl="~/Images/Google32x32.png"
>                     AlternateText="Login with your Google account"
>                     style="position:absolute; top:5px; left:40px;" />
>
> The application runs the following code;
>
>         protected void GoogleLogin_Click(object src, CommandEventArgs e)
>         {
>             String GoogleOPIndentifier = String.Empty;
>             OpenIdRelyingParty openid  = null;
>             UriBuilder uriBuilder      = null;
>             FetchRequest fetch         = null;
>
>             try
>             {
>                 GoogleOPIndentifier = e.CommandArgument.ToString();
>                 openid = new OpenIdRelyingParty();
>                 uriBuilder = new UriBuilder(Request.Url) { Query = "" };
>                 IAuthenticationRequest req = 
> openid.CreateRequest(GoogleOPIndentifier, uriBuilder.Uri, uriBuilder.Uri);
>
>                 fetch = new FetchRequest();
>
>                 
> fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
>                 fetch.Attributes.AddRequired(WellKnownAttributes.Name.First);
>                 fetch.Attributes.AddRequired(WellKnownAttributes.Name.Last);
>
>                 req.AddExtension(fetch);
>
>                 req.RedirectToProvider();
>             }
>             catch (System.Exception ex)
>             {
>                 throw ex;
>             }
>             finally
>             {
>                 if (openid != null) openid.Dispose();
>
>                 openid              = null;
>                 fetch               = null;
>                 uriBuilder          = null;
>                 GoogleOPIndentifier = String.Empty;
>
>             }
>
>         }
>
> This seems to work fine, when the user clicks on the button, the
> application redirects to Google and returns.When it does the following code
> is executed.
>
>                 try
>                 {
>                     OIDRP = new OpenIdRelyingParty();
>
>                     var authenticationResponse = OIDRP.GetResponse();
>
>                     if (authenticationResponse != null)
>                     {
>                         switch (authenticationResponse.Status)
>                         {
>                             case AuthenticationStatus.Authenticated:
>
>                                 HasLoggedIn.Visible = true;
>                                 HasNotLoggedIn.Visible = false;
>                                 YourAccount.Visible = true;
>                                 var fetch = 
> authenticationResponse.GetExtension<FetchResponse>();
>
>
>                                 Session["Identifier"] = 
> authenticationResponse.ClaimedIdentifier.ToString();
>
>                                 // fetch attributes
>                                 email     = 
> fetch.GetAttributeValue(WellKnownAttributes.Contact.Email);
>                                 firstName = 
> fetch.GetAttributeValue(WellKnownAttributes.Name.First).Trim();
>                                 lastName  = 
> fetch.GetAttributeValue(WellKnownAttributes.Name.Last).Trim();
>
>                                 WelcomeLabel.Text = "Welcome " + firstName + 
> " " + lastName;
>                                 WelcomeLabel.Visible = true;
>
>                                 // get events test code: Objectivfy once 
> alogorythm determined
>
>                                 consumerKey    = 
> RoleEnvironment.GetConfigurationSettingValue("GoogleConsumerKey");
>                                 consumerSecret = 
> RoleEnvironment.GetConfigurationSettingValue("GoogleConsumerSecret");
>                                 calendar       = new 
> Google.Calendar(Application_Name, consumerKey, consumerSecret);
>
>                                 EventFeed feed = getCalendarEvents(email, 
> "full", true, 3);
>
>                                 break;
>                             case AuthenticationStatus.Canceled:
>                                 HasLoggedIn.Visible = false;
>                                 HasNotLoggedIn.Visible = true;
>                                 YourAccount.Visible = false;
>                                 break;
>                             case AuthenticationStatus.Failed:
>                                 HasLoggedIn.Visible = false;
>                                 HasNotLoggedIn.Visible = true;
>                                 YourAccount.Visible = false;
>                                 break;
>                         }
>                     }
>                     else
>                     {
>                         WelcomeLabel.Visible = false;
>                         YourAccount.Visible = false;
>                     }
>                 }
>                 catch (System.Exception ex)
>                 {
>                     Session["ErrorMessage"] = ex.Message;
>                     Response.Redirect("Error.aspx");
>                 }
>                 finally
>                 {
>
>                 }
>
> This code in turn makes a call to getCalendarEvents;
>
>         private EventFeed getCalendarEvents(string requestorId, string 
> projection, bool singleEvents, int maxResults)
>         {
>             // Create an OAuth factory to use
>             GOAuthRequestFactory requestFactory = new 
> GOAuthRequestFactory("cl", Application_Name);
>
>             // Available from vendor profile page (next to each application)
>             // when logged into the Marketplace
>             requestFactory.ConsumerKey = 
> RoleEnvironment.GetConfigurationSettingValue("GoogleConsumerKey");
>             requestFactory.ConsumerSecret = 
> RoleEnvironment.GetConfigurationSettingValue("GoogleConsumerSecret");
>
>             // Create the CalendarService and set its RequestFactory
>             CalendarService service = new CalendarService(Application_Name);
>
>             service.RequestFactory = requestFactory;
>             service.SetAuthenticationToken(Session["Identifier"].ToString());
>
>             // Query the service with the parameters passed to the function
>             EventQuery query = new EventQuery();
>             query.Uri = new 
> Uri("https://www.google.com/calendar/feeds/default/private/"; + projection);
>             query.OAuthRequestorId = requestorId;
>             query.NumberToRetrieve = maxResults;
>             query.SingleEvents = singleEvents;
>             query.StartTime = DateTime.Now;
>             query.SortOrder = CalendarSortOrder.ascending;
>
>
>             EventFeed resultFeed = service.Query(query);
>             return resultFeed;
>         }
>
>     }
>
> The thing is when it makes the call to service.Query(query) I get the 
> following error;
>
> Execution of request failed: 
> https://www.google.com/calendar/feeds/default/private/full?max-results=3&[email protected]&start-min=2011-08-25T21:22:20Z&sortorder=ascending&singleevents=true
>
>
> But I don't seem to have any clue as to what caused the execution to
> actually fail.
>
> Any ideas what I am missing.
>
> Thanks in advance
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Google Calendar Data API" group.
> To post to this group, send email to
> [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://code.google.com/apis/calendar/community/forum.html
>

-- 
You received this message because you are subscribed to the Google
Groups "Google Calendar Data API" group.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://code.google.com/apis/calendar/community/forum.html

Reply via email to