本文整理汇总了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);
}
示例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;
}
}
示例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();
}
示例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();
}
示例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();
}
}
}
示例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;
}
}