当前位置: 首页>>代码示例>>C#>>正文


C# OAuth2Authenticator.ApplyAuthenticationToRequest方法代码示例

本文整理汇总了C#中OAuth2Authenticator.ApplyAuthenticationToRequest方法的典型用法代码示例。如果您正苦于以下问题:C# OAuth2Authenticator.ApplyAuthenticationToRequest方法的具体用法?C# OAuth2Authenticator.ApplyAuthenticationToRequest怎么用?C# OAuth2Authenticator.ApplyAuthenticationToRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OAuth2Authenticator的用法示例。


在下文中一共展示了OAuth2Authenticator.ApplyAuthenticationToRequest方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ApplyAuthenticationToRequestTest

        public void ApplyAuthenticationToRequestTest()
        {
            var request = (HttpWebRequest)WebRequest.Create("http://example.com");
            var state = new AuthorizationState() { AccessToken = "Test" };
            var client = new NativeApplicationClient(new Uri("http://example.com"));
            var auth = new OAuth2Authenticator<NativeApplicationClient>(client, (clt) => state);

            // Confirm that the request header gets modified.
            auth.ApplyAuthenticationToRequest(request);
            Assert.AreEqual(1, request.Headers.Count);
        }
开发者ID:JANCARLO123,项目名称:google-apis,代码行数:11,代码来源:OAuth2AuthenticatorTest.cs

示例2: download_file_from_googledirve

        public static bool download_file_from_googledirve(string file_name, int contribution_id)
        {
            try
            {
                var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
                provider.ClientIdentifier = configurations.googledrive_client_id;
                provider.ClientSecret = configurations.googledrive_client_secret;
                IAuthenticator authenticator = new OAuth2Authenticator<NativeApplicationClient>(provider, googledrive_getauthorization);
                DriveService gd_service = new DriveService(authenticator);

                FilesResource.ListRequest list_request = gd_service.Files.List();
                list_request.Q = "title = '" + file_name + "'";
                FileList file_list = list_request.Fetch();
                byte[] transfer_buffer = new byte[configurations.download_buffer_size];
                int downloaded_files_count = 0;
                foreach (Google.Apis.Drive.v2.Data.File f in file_list.Items)
                {
                    if (String.IsNullOrEmpty(f.DownloadUrl)) continue;
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(f.DownloadUrl));
                    authenticator.ApplyAuthenticationToRequest(request);
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    if (response.StatusCode != HttpStatusCode.OK) continue;
                    System.IO.FileStream file_stream = new System.IO.FileStream(
                        configurations.GetAbsoluteContributionPath() + contribution_id.ToString() + "." + f.FileExtension, System.IO.FileMode.CreateNew);
                    System.IO.Stream response_stream = response.GetResponseStream();
                    int bytes_read = 0;
                    while ((bytes_read = response_stream.Read(transfer_buffer, 0, transfer_buffer.Length)) > 0) { file_stream.Write(transfer_buffer, 0, bytes_read); }
                    downloaded_files_count++;
                    file_stream.Close();
                    response_stream.Close();
                }
                if (downloaded_files_count > 0) return true;
                else return false;
            }
            catch (Exception gd_exc)
            {
                // write log of the exception
                log.WriteErrorLog(gd_exc);
                return false;
            }
        }
开发者ID:naturenet,项目名称:nature-net-ppi,代码行数:41,代码来源:file_manager.cs

示例3: add_user_to_googledrive

        public static void add_user_to_googledrive(int user_id, string username, string avatar)
        {
            var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
            provider.ClientIdentifier = configurations.googledrive_client_id;
            provider.ClientSecret = configurations.googledrive_client_secret;
            IAuthenticator authenticator = new OAuth2Authenticator<NativeApplicationClient>(provider, googledrive_getauthorization);
            DriveService gd_service = new DriveService(authenticator);

            FilesResource.ListRequest list_request = gd_service.Files.List();
            list_request.Q = "title = '" + configurations.googledrive_userfiletitle + "'";
            FileList file_list = list_request.Fetch();
            if (file_list.Items.Count == 0) return;
            Google.Apis.Drive.v2.Data.File users_list_file = file_list.Items[0];
            string user_file_id = users_list_file.Id;
            if (String.IsNullOrEmpty(users_list_file.DownloadUrl)) return;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(users_list_file.DownloadUrl));
            authenticator.ApplyAuthenticationToRequest(request);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode != HttpStatusCode.OK) return;
            System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
            string users_list = reader.ReadToEnd();
            reader.Close();

            string u = "{user: id= " + user_id.ToString() + ", name= " + username + ", avatarName= " + avatar + "}\r\n";
            users_list = users_list + u;
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            System.IO.StreamWriter writer = new System.IO.StreamWriter(stream);
            writer.Write(users_list);
            writer.Flush();
            stream.Position = 0;

            //users_list_file.Title = newTitle;
            //users_list_file.Description = newDescription;
            string new_mime_type = users_list_file.MimeType;
            FilesResource.UpdateMediaUpload request_update = gd_service.Files.Update(users_list_file, user_file_id, stream, new_mime_type);
            request_update.Upload();
        }
开发者ID:naturenet,项目名称:nature-net-ppi,代码行数:37,代码来源:file_manager.cs

示例4: retrieve_and_process_user_changes_from_googledrive

        public static void retrieve_and_process_user_changes_from_googledrive()
        {
            var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
            provider.ClientIdentifier = configurations.googledrive_client_id;
            provider.ClientSecret = configurations.googledrive_client_secret;
            IAuthenticator authenticator = new OAuth2Authenticator<NativeApplicationClient>(provider, googledrive_getauthorization);
            DriveService gd_service = new DriveService(authenticator);

            FilesResource.ListRequest list_request = gd_service.Files.List();
            list_request.Q = "title = '" + configurations.googledrive_userfiletitle + "'";
            FileList file_list = list_request.Fetch();
            if (file_list.Items.Count == 0) return;
            Google.Apis.Drive.v2.Data.File users_list_file = file_list.Items[0];
            if (String.IsNullOrEmpty(users_list_file.DownloadUrl)) return;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(users_list_file.DownloadUrl));
            authenticator.ApplyAuthenticationToRequest(request);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode != HttpStatusCode.OK) return;
            System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
            string users_list = reader.ReadToEnd();
            reader.Close();
            List<string> usernames = configurations.GetUserNameList_GDText(users_list);
            List<string> avatars = configurations.GetAvatarList_GDText(users_list);

            naturenet_dataclassDataContext db = new naturenet_dataclassDataContext();
            var ru = from u in db.Users
                     where u.id > 0
                     select u.name;
            List<string> users = ru.ToList<string>();
            for (int counter = 0; counter < usernames.Count; counter++)
            {
                if (!users.Contains(usernames[counter]))
                {
                    User u3 = new User();
                    u3.name = usernames[counter]; u3.password = ""; u3.email = "";
                    try { u3.avatar = avatars[counter]; }
                    catch (Exception) { u3.avatar = ""; }
                    db.Users.InsertOnSubmit(u3);
                }
                else
                    users.Remove(usernames[counter]);
            }

            //var du = db.Users.Where(a => users.Contains(a.name));
            //if (du.Count() == 0) return;
            //string udel = "";
            //foreach (User u1 in du)
            //    udel = udel + ";" + u1.id + "," + u1.name + "," + u1.avatar + "," + u1.email + "," + u1.technical_info;
            //Action del = new Action();
            //del.date = DateTime.Now;
            //del.object_type = "nature_net.User";
            //del.user_id = 0;
            //del.type_id = 3;
            //del.technical_info = udel;
            //db.Actions.InsertOnSubmit(del);
            //db.Users.DeleteAllOnSubmit(du);
            db.SubmitChanges();
        }
开发者ID:naturenet,项目名称:nature-net-ppi,代码行数:58,代码来源:file_manager.cs

示例5: retrieve_and_process_idea_changes_from_googledrive

        public static void retrieve_and_process_idea_changes_from_googledrive()
        {
            var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
            provider.ClientIdentifier = configurations.googledrive_client_id;
            provider.ClientSecret = configurations.googledrive_client_secret;
            IAuthenticator authenticator = new OAuth2Authenticator<NativeApplicationClient>(provider, googledrive_getauthorization);
            DriveService gd_service = new DriveService(authenticator);

            FilesResource.ListRequest list_request = gd_service.Files.List();
            list_request.Q = "title = '" + configurations.googledrive_ideafiletitle + "'";
            FileList file_list = list_request.Fetch();
            if (file_list.Items.Count == 0) return;
            Google.Apis.Drive.v2.Data.File ideas_list_file = file_list.Items[0];
            if (String.IsNullOrEmpty(ideas_list_file.DownloadUrl)) return;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(ideas_list_file.DownloadUrl));
            authenticator.ApplyAuthenticationToRequest(request);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode != HttpStatusCode.OK) return;
            System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
            string ideas_list = reader.ReadToEnd();
            reader.Close();
            List<string> ideas = ideas_list.Split(new Char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList<string>();

            naturenet_dataclassDataContext db = new naturenet_dataclassDataContext();
            var r = from c in db.Contributions
                    select c.note;
            List<string> notes = r.ToList<string>();
            foreach (string idea in ideas)
            {
                if (!notes.Contains(configurations.GetItem_GDText(idea, 2)))
                {
                    string username = configurations.GetItem_GDText(idea, 0);
                    string avatarname = configurations.GetItem_GDText(idea, 1);
                    if (avatarname.Substring(avatarname.Length - 4, 4) != ".png")
                        avatarname = avatarname + ".png";
                    int col_id = configurations.get_or_create_collection(db, username, avatarname, 1, DateTime.Now);

                    Contribution design_idea = new Contribution();
                    design_idea.date = DateTime.Now;
                    design_idea.location_id = 0;
                    design_idea.media_url = "";
                    design_idea.note = configurations.GetItem_GDText(idea, 2);
                    design_idea.tags = "design idea";
                    db.Contributions.InsertOnSubmit(design_idea);
                    db.SubmitChanges();

                    Collection_Contribution_Mapping map = new Collection_Contribution_Mapping();
                    map.collection_id = col_id;
                    map.contribution_id = design_idea.id;
                    map.date = DateTime.Now;
                    db.Collection_Contribution_Mappings.InsertOnSubmit(map);
                    db.SubmitChanges();
                }
            }
        }
开发者ID:naturenet,项目名称:nature-net-ppi,代码行数:55,代码来源:file_manager.cs

示例6: DownloadFile

 public System.IO.Stream DownloadFile(string FileID, string CLIENT_ID, string CLIENT_SECRET, string ConnectionString)
 {
     var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description, CLIENT_ID, CLIENT_SECRET);
     var authenticator = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthorization);
     var service = new DriveService(authenticator);
     _ConnectionString = ConnectionString;
     File file = service.Files.Get(FileID).Fetch();
     if (!String.IsNullOrEmpty(file.DownloadUrl))
     {
         try
         {
             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(file.DownloadUrl));
             request.Headers.Set("Authorization", "Bearer " + authenticator.State.AccessToken.ToString());
             authenticator.ApplyAuthenticationToRequest(request);
             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
             if (response.StatusCode == HttpStatusCode.OK)
             {
                 return response.GetResponseStream();
             }
             else
             {
                 throw new Exception("An error occurred: " + response.StatusDescription);
             }
         }
         catch (Exception e)
         {
             throw new Exception("Downloading File Failed: " + e.Message);
         }
     }
     else
     {
         // The file doesn't have any content stored on Drive.
         return null;
     }
 }
开发者ID:raghulvarmams,项目名称:EImplementation,代码行数:35,代码来源:Dms.cs


注:本文中的OAuth2Authenticator.ApplyAuthenticationToRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。