Я создаю .net web api (.net 4.5) с Visual Studio 2013, который вызывает Google.Apis.YouTube.v3 для поиска видео. Все работает отлично, когда я использую IIS Express (например, http: // localhost: 12345 /), но как только я изменил использование Local IIS (например, http: // localhost/HelloWorldWebApi), он бросает мне System.UnauthorizedAccessException { Доступ к пути «Google.Apis.Auth» запрещен. »}.Доступ к пути «Google.Apis.Auth» отрицается
Я искал часы в Интернете и ничего не нашел.
Моя DEV среда: для Windows 8.1, Visual Studio 2013, IIS 8.5
коды:
public IEnumerable<MyVideo> Get(string search)
{
try
{
string resourceName = "HelloWorldWebApi.client_secret.json";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
{
Credential(stream).Wait();
}
YouTubeService youtube = new YouTubeService(new BaseClientService.Initializer()
{
HttpClientInitializer = _credential,
ApplicationName = "HelloWorldWebApiTest"
});
SearchResource.ListRequest listRequest = youtube.Search.List("snippet");
listRequest.Q = search;
listRequest.MaxResults = 5;
listRequest.Type = "video";
SearchListResponse searchResponse = listRequest.Execute();
List<MyVideo> videos = new List<MyVideo>();
foreach (SearchResult result in searchResponse.Items)
{
videos.Add(new MyVideo(result.Snippet.Title));
}
return videos;
}
catch (Exception ex)
{
throw ex;
}
}
private async Task Credential(Stream stream)
{
_credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { YouTubeService.Scope.YoutubeReadonly },
"user", CancellationToken.None);
}
Заранее спасибо за все помогает!
## Проверьте ссылку ниже: ## http://stackoverflow.com/questions/23405767/system-unauthorizedaccessexception-access-to-the-path-google-apis-auth-is-deni –