Я работаю над проектом, чтобы получить профиль профиля Google+ с помощью oAuth. Я пробовал несколько разных методов, и я продолжаю получать 403 Forbidden Error Message при попытке получить данные профиля.Профиль Google+ 403 после доступа к токену
Вот код, я использую, чтобы получить маркер доступа
GoogleClient googleClient = new GoogleClient
{
ClientIdentifier = ConfigurationManager.AppSettings["googleConsumerKey"],
ClientCredentialApplicator = ClientCredentialApplicator.PostParameter(ConfigurationManager.AppSettings["googleConsumerSecret"]),
};
googleClient.RequestUserAuthorization(scope: new[] { "https://www.googleapis.com/auth/userinfo.profile", "https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/plus.me" });
IAuthorizationState authorization = googleClient.ProcessUserAuthorization();
if (authorization != null && authorization.AccessToken != null)
{
WebRequest testREQ = WebRequest.Create("https://www.googleapis.com/plus/v1/people/me?key=" + ConfigurationManager.AppSettings["APIKey"] + "&access_token=" + Uri.EscapeDataString(authorization.AccessToken));
WebResponse testRES = testREQ.GetResponse();
}
выше код генерирует 403, когда GetResponse() называется
Я также попробовал библиотеку, используемую здесь
http://www.googleplustips.com/resources/3332-NET-Library-Google-APIs-released.aspx
используя этот код
string profileId = "me";
string apiKey = ConfigurationManager.AppSettings["APIKey"];
// You can get an API Key here: https://code.google.com/apis/console#access
GooglePlusAPIHelper apiHelper = new GooglePlusAPIHelper(profileId, apiKey);
GPlusActivities activities = apiHelper.ListActivities("eJx9Uj1IAzEUfglXeuASxbWQRX");
GPlusActivity activity = apiHelper.GetActivity("z13rvzzy2lmtj3p0a22md1c4nyrdufrxv04");
GPlusActivities activities2 = apiHelper.SearchActivities("Windows 8");
GPlusPerson person = apiHelper.GetPerson();
GPlusPeople people = apiHelper.SearchPeople("windows 8 club");
GPlusComments people2 = apiHelper.ListComments("z120yhh54qrbsn5tr22rtjbiqr3mh1qp504");
GPlusComment comment = apiHelper.GetComment("2HOqDyvQVCrbz47vK_w9nSrRYnS");
Это также бросает 403 Forbidden на ListActivities() называют
Я предполагаю, что это связано с какой-то установки, что я не сделал с моей стороны, но я не знаю, где это может быть. У меня есть все службы Google+, выбранные в моей консоли API.
Любая помощь была бы принята с благодарностью.
Я не использую ключ сервера, а ключ браузера (это веб-приложение, которое получает информацию). Рефери для моего браузера - полный URL-адрес моей страницы. Я установил серверное приложение с моими машинами IP и получил 401 Unauthorized, что имеет смысл с момента его веб-вызова. Сообщите мне, если вам нужно больше информации –
Если это webapp, который выполняется на сервере (в отличие от javascript, который выполняется на клиенте, чего это не похоже), вам нужно использовать Server APIKey. Вопрос не в том, где отображается содержимое, но где сама программа запускается, а C# обычно работает на сервере. Использование неправильного типа ключа, вероятно, будет соответствовать ошибке 403. Я редактирую свои вопросы, чтобы разобраться с 401 Несанкционированным вопросом. – Prisoner