Closed GoogleCodeExporter closed 9 years ago
Please provide more information
Original comment by pele...@google.com
on 16 Jul 2013 at 6:52
[deleted comment]
private static Userinfo GetUserInfo(IAuthenticator credentials)
{
Oauth2Service userInfoService = new Oauth2Service(credentials);
Userinfo userInfo = null;
try
{
userInfo = userInfoService.Userinfo.Get().Fetch();
}
catch (GoogleApiRequestException e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
if (userInfo != null && !String.IsNullOrEmpty(userInfo.Id))
{
return userInfo;
}
else
{
return null;
}
}
while running the code from web server i got an issue :
"System.Security.VerificationException: Operation could destabilize the
runtime."
and i have tried in local iis its working fine with out any issue
note : both .net frameworks are same i.e. .net framework 4.0
Original comment by srav...@risecorp.com
on 17 Jul 2013 at 8:46
First of all you're using an old version of the library. You can download the
latest version of your API here:
https://code.google.com/p/google-api-dotnet-client/wiki/APIs.
You should also follow our build page
(https://code.google.com/p/google-api-dotnet-client/wiki/Build).
Check also - http://msdn.microsoft.com/en-us/library/432cdx67(v=vs.80).aspx.
It looks like there is a conflict in a class library you are using. So my
recommendation is to start again using the links I'm sending you.
Please let me know
Original comment by pele...@google.com
on 17 Jul 2013 at 1:27
hi,
Thanks for giving but i got another issue from new dlls
"Method 'ApplyAuthenticationToRequest' in type
'Google.Apis.Authentication.OAuth2.OAuth2Authenticator`1' from assembly
'Google.Apis.Authentication.OAuth2, Version=1.4.0.28223, Culture=neutral,
PublicKeyToken=null' does not have an implementation."
Original comment by srav...@risecorp.com
on 18 Jul 2013 at 2:57
Attachments:
Can we check another option:
I think that your GAC contains an older version of
Google.Apis.Authentication.OAuth2.dll which is loaded and you actually don't
use the right version from the bundle.
Read
http://stackoverflow.com/questions/49972/in-what-order-are-locations-searched-to
-load-referenced-dlls for more information.
So, my suggest is:
1. Use http://msdn.microsoft.com/en-us/library/9x295t9k(v=vs.100).aspx to
present the assemblies in your GAC.
I ran Developer Command Prompt from Start -> All Programs -> Microsoft Visual
Studio -> Visual Studio Tools -> Developer Command Prompt
then I ran "gacutil /l"
[If you can please pipe the content to a file and send it to me, so: gacutil /l
> c:\Users\Administrator\Documentes\assemblies.txt]
2. In my opinion Google.Apis.Authentication.OAuth2 will appear there and we
should remove it.
Use http://msdn.microsoft.com/en-us/library/aa559881(v=bts.20).aspx to delete
it.
Other options are that several other assemblies that we use like Google.Apis,
DotNetOpenAuth or others appear in your GAC. So we may try to delete them from
the GAC as well.
Original comment by pele...@google.com
on 19 Jul 2013 at 3:21
Original comment by pele...@google.com
on 19 Jul 2013 at 3:21
Which OS do you use?
Can you please send me a text doc with all your GAC content?
Original comment by pele...@google.com
on 19 Jul 2013 at 3:47
hi,
i am using Windows 7 x64 bit operating system (VS2010), and i am attaching list
of GAC dll's
Original comment by srav...@risecorp.com
on 19 Jul 2013 at 4:14
Attachments:
1. Thank you so much for your help so far. I want to continue investigating
this, but I can't reproduce it on my machine. Is anyway that you will share
your screen with me with Hangout or some other sharing application?
2. When you compile, do you get the follow warning as well?
warning CS1684: Reference to type 'System.Net.HttpWebRequest' claims it is
defined in 'c:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Net.dll', but it could
not be found
If so - do you have this assembly in the specific folder?
I've it and the version is 4.0.30319.430 as expected.
Original comment by pele...@google.com
on 19 Jul 2013 at 7:02
Can you also send you fusion log output?
Original comment by pele...@google.com
on 19 Jul 2013 at 8:53
hi,
Thanks for giving the information, here i am dropping the fusion log output and
also i got warning CS1684:warning CS1684: Reference to type
'System.Net.HttpWebRequest' claims it is defined in 'c:\Program Files
(x86)\Reference
Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Net.dll', but it could
not be found.
but i gone through the following path and i can able to see the dll in that
location as per the dll concern the version is 4.0.30319.1.
can you please advice me what i have to do now
note : i haven't get any error while executing from local machine.
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 9:15
Attachments:
Here the System.net.dll file screen shot
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 9:19
Attachments:
So when did you get the errors? Do your users complain about that error? Do
they have the same path in their machine? (c:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Net.dll), If not -
where is this System.Net.dll located on their machine?
Original comment by pele...@google.com
on 22 Jul 2013 at 12:46
After completion of my project, i am going to publish my site into WebServer.
While accessing from WebServer i got the issue.
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 12:49
The WebServer contains .NET 4.0 installed? Does it contain the System.Net.dll
in GAC?
If you want me to dig in into this and we will try to solve it together by
sharing your screen (if it's possible), I would be happy to so. The main
problem I'm having so far, is that I can't reproduce this problem on my
different VMs, so it's very hard to help you.
We can use Hangout if it works for you. Let me know :)
Original comment by pele...@google.com
on 22 Jul 2013 at 12:59
i have hosted the site in rackspace and if you need i will provide the link.
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 1:09
Please do.
Do you know if .NET 4.0 is installed there?
Original comment by pele...@google.com
on 22 Jul 2013 at 2:30
yes, it is a site having .net framework 4.0 version.
here the link "driveapp.risecorp.com"
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 2:34
I get error as well, but I can't debug it or do anything. Can you debug the
code there? See what is exactly installed? Have access to the GAC?
Original comment by pele...@google.com
on 22 Jul 2013 at 2:58
hi,
we can't debug the application in rackspace server. Because it is cloud
site(shared hosting).
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 3:04
Hi...
Logs? Something?
Can you ask them if they can send you the content of the GAC? Or if it is some
problem they saw before?
We won't be able to solve that issue without access to your code there. We need
to be able to debug that code. What do you think?
I'm trying my best, but I need to get some input, so we can solve that issue.
Original comment by pele...@google.com
on 22 Jul 2013 at 3:21
this is code i have written in file :
static IAuthorizationState ExchangeCode(String authorizationCode)
{
DPLLogging.WriteError("ExchangeCode" + authorizationCode + "::");
var provider = new NativeApplicationClient(
GoogleAuthenticationServer.Description,
ClientCredentials.CLIENT_ID,
ClientCredentials.CLIENT_SECRET);
IAuthorizationState state = new AuthorizationState();
state.Callback = new Uri(ClientCredentials.REDIRECT_URI);
try
{
DPLLogging.WriteError(state.Callback.ToString());
state = provider.ProcessUserAuthorization(authorizationCode, state);
return state;
}
catch (ProtocolException)
{
throw new CodeExchangeException(null);
}
}
AT this line : provider.ProcessUserAuthorization(authorizationCode, state);
i got a error please check the last line of log file in attachment
note: last line of log file written by following line of code
DPLLogging.WriteError(state.Callback.ToString());
Original comment by srav...@risecorp.com
on 22 Jul 2013 at 3:30
Attachments:
I understand that somehow the dependency in System.Net.dll doesn't work. But
the log doesn't really help to me and to you, right?
I need more than that, can you try to figure out with rackspace how you can
debug? see the GAC? and other important actions to you...?
Original comment by pele...@google.com
on 22 Jul 2013 at 3:45
I get the same exception in my local (desktop) application (here:
http://www.codeproject.com/Articles/647743/GDrive-Explorer-For-Google-Drive).
However the issue is only reproducible on some systems. On other systems they
work perfect.
Dont exactly know why the difference in observations.
Can you please tell what are the further steps to debug this?
Original comment by hush.tec...@gmail.com
on 11 Sep 2013 at 5:53
Attachments:
1. Do you install Windows 7 service pack1?
2. Do you have the latest NuGet version installed (and you installed the
required Google.Apis packages from NuGet)?
3. Can you try run one of your samples
(https://code.google.com/p/google-api-dotnet-client/source/browse/?repo=samples)
just to make sure that other samples work?
Thanks
Original comment by pele...@google.com
on 11 Sep 2013 at 4:17
Hi, Thanks for your response.
These issues occur on client systems. The above is part of an opensource
article on codeproject. Though many users are able to use them, some face these
kind of problems.
I downloaded nuget packages and bundled the downloaded ones, so all users are
having the same set of dlls.
Yes, Windows 7 sp1 is available for them. I have confirmed.
I will ask to run the samples. But even without that do you suspect any other
mistakes, I might be doing?
Original comment by hush.tec...@gmail.com
on 11 Sep 2013 at 4:34
What is the exact error you're having there are two different kind of errors in
this thread, and I'm confused right now.
Please send me as much details as you have -
1. What is the exact error
2. Does it happen to all users or only to a group of them
3. If it happens only to a group of them, can you think of something that those
users installed \ didn't install on their machine.
We will start with that...
Sorry for the delay in my response.
Original comment by pele...@google.com
on 12 Sep 2013 at 2:10
Above Solution not working
"Method 'ApplyAuthenticationToRequest' in type
'Google.Apis.Authentication.OAuth2.OAuth2Authenticator`1' from assembly
'Google.Apis.Authentication.OAuth2, Version=1.5.0.28223, Culture=neutral,
PublicKeyToken=null' does not have an implementation."
please check & revert me
Original comment by prashant...@gmail.com
on 10 Oct 2013 at 8:47
Hi team
I got error in Authenticate method & please check & revert me
My code :
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
// For revocation and REST queries using HTTPRequest.
using System.Net;
using System.Web;
using System.Web.Compilation;
// For string manipulations used in the template and string building.
using System.Text;
using System.Text.RegularExpressions;
// For mapping routes
using System.Web.Routing;
using System.Web.SessionState;
// Generated libraries for Google APIs
using Google.Apis.Authentication.OAuth2;
using Google.Apis.Authentication.OAuth2.DotNetOpenAuth;
using Google.Apis.Services;
using Google.Apis.Util;
using Google.Apis.PlusDomains.v1;
using Google.Apis.PlusDomains.v1.Data;
// For OAuth2
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OAuth2;
// For JSON parsing.
using Newtonsoft.Json;
using System.Threading;
using System.Diagnostics;
using System.Runtime.InteropServices;
public partial class _Default : System.Web.UI.Page
{
protected PlusDomainsService ps1;
protected Google.Apis.PlusDomains.v1.Data.Person me;
private IAuthorizationState _authstate;
[DllImport("user32.dll")]
static extern int GetForegroundWindow();
[DllImport("user32.dll")]
static extern int GetWindowText(int hWnd, StringBuilder text, int count);
private static class ClientCredentials
{
static public string ClientID = "377857239757-8cqiuna6b4ic57rgmoo76i5jjm2eferl.apps.googleusercontent.com";
static public string ClientSecret = "7VUr2v9YcSnPNXsiFSyzwJvu";
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click(object sender, EventArgs e)
{
authenticate();
}
private OAuth2Authenticator<NativeApplicationClient> CreateAuthenticator()
{
// Register the authenticator.
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
provider.ClientIdentifier = ClientCredentials.ClientID;
provider.ClientSecret = ClientCredentials.ClientSecret;
var authenticator =
new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthorization) { NoCaching = true };
return authenticator;
}
private IAuthorizationState GetAuthorization(NativeApplicationClient client)
{
String[] reqAuthScopes = new[] { "https://www.googleapis.com/auth/plus.me" };
// Generate the authstate
if (_authstate == null)
{
// need an authorization state
_authstate = new AuthorizationState(reqAuthScopes);
// Create the Url
Uri requestURL = client.RequestUserAuthorization(reqAuthScopes);
Uri url = client.RequestUserAuthorization(reqAuthScopes);
// string url = "https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=377857239757-8cqiuna6b4ic57rgmoo76i5jjm2eferl.apps.googleusercontent.com&redirect_uri=http://localhost:26611/WebSite4/Default.aspx&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.me";
// Show the dialog.
Process.Start(url.ToString());
// MessageBox.Show("Please click OK after you have copied the token
from the web site.");
String authCode = pollActiveWindowForAuthCode(50);
if (string.IsNullOrEmpty(authCode))
{
throw new Exception("The authentication request was cancelled by the user.");
}
IAuthorizationState state = client.ProcessUserAuthorization(new Uri("http://localhost"), _authstate);
return client.ProcessUserAuthorization(authCode, state);
}
// Now perform auth flow
return null;
}
public void authenticate(){
// Register the authenticator.
var auth = CreateAuthenticator();
ps1 = new PlusDomainsService(new Google.Apis.Services.BaseClientService.Initializer()
{
Authenticator = auth
});
if (ps1 != null)
{
Google.Apis.PlusDomains.v1.PeopleResource.GetRequest grrrr = ps1.People.Get("me");
Google.Apis.PlusDomains.v1.Data.Person me = grrrr.Execute();
if (me != null)
{
//textBlock1.Text = "You successfully Authenticated!";
// textBlock2.Text =
Response.Write( "You successfully Authenticated!");
Response.Write("UserName: " + me.DisplayName + "\nURL: " + me.Url + "\nProfile id: " + me.Id);
}
}
}
string pollActiveWindowForAuthCode(int sleepTime)
{
string activeTitle = GetActiveWindowTitle();
while (!activeTitle.StartsWith("Success code="))
{
activeTitle = GetActiveWindowTitle();
Thread.Sleep(sleepTime);
}
//// strip to start of auth code
string trimToAuthCode = activeTitle.Substring(activeTitle.IndexOf("=") + 1);
return trimToAuthCode.Substring(0, trimToAuthCode.IndexOf(' '));
//// trim the " - Google Chrome" text
//while (!activeTitle.StartsWith("Success authuser="))
//{
// //activeTitle = GetActiveWindowTitle();
// Thread.Sleep(sleepTime);
// trimToAuthCode = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString();
//}
// string trimToAuthCode = activeTitle.Substring(activeTitle.IndexOf("code=") + 1);
// return trimToAuthCode.Substring(0, trimToAuthCode.IndexOf(' '));
// return trimToAuthCode;
}
private string GetActiveWindowTitle()
{
const int nChars = 256;
IntPtr handle = IntPtr.Zero;
StringBuilder Buff = new StringBuilder(nChars);
handle = (IntPtr)GetForegroundWindow();
if (GetWindowText((int)handle, Buff, nChars) > 0)
{
return Buff.ToString();
}
return null;
}
}
Original comment by prashant...@gmail.com
on 10 Oct 2013 at 8:58
1. Please regenerate new client secrets because they are exposed now for
everyone...
2. Make sure your .NET framework is patched. Microsoft released patches to .NET
to allow Portable Class Libraries to properly find the appropriate runtime
(KB2468871). If you are seeing the above exception (or something like it), it
means you're missing the latest .NET framework patches.
Let me know!
Thanks
Original comment by pele...@google.com
on 10 Oct 2013 at 3:25
Feel free to reopen this issue if is still happen.
Please be aware that the Google.Apis.Authentication isn't supported any more.
Use the Google.Apis.Auth which will make your life easier.
Original comment by pele...@google.com
on 19 Jan 2014 at 9:52
Original issue reported on code.google.com by
srav...@risecorp.com
on 16 Jul 2013 at 5:41Attachments: