如何使用c#在Google plus上插入一个时刻
本文关键字:时刻 一个 插入 何使用 Google plus | 更新日期: 2023-09-27 18:17:59
我正在尝试这个代码:
PlusService plus = new PlusService(
new Google.Apis.Services.BaseClientService.Initializer()
{
ApiKey = "AIzaSyDWaaG1Hnjgjgho6PVdefefddsdsC6FlPXv5rommyzCAf0ziHkTo"
});
Moment body = new Moment();
ItemScope target = new ItemScope();
target.Id = "103692090756564666566349707";
target.Description = "The description for the activity";
target.Name = "An example of add activity";
body.Target = target;
body.Type = "http://schemas.google.com/AddActivity";
MomentsResource.InsertRequest insert = new MomentsResource.InsertRequest(
plus,
body,
"1036920323290766566566349707",
MomentsResource.InsertRequest.CollectionEnum.Vault);
var momentsResource = plus.Activities.List(
"me",
ActivitiesResource.ListRequest.CollectionEnum.Public);
Moment wrote = insert.Execute();//Error here
和我的范围脚本是-
$(location).attr('href', 'https://accounts.google.com/o/oauth2/auth?scope=' +
'https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.login&https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.me&' +
'state=generate_a_unique_state_value&' +
'redirect_uri=http://localhost:58925/Home/&' +
'response_type=code&' +
'client_id=564565402546260119.apps.googleusercontent.com&' +
'access_type=offline');
错误信息为-无法加载文件或程序集。Portable, Version=1.9.1.9000, Culture=neutral, PublicKeyToken=null'或其依赖项之一。系统找不到指定的文件
首先,您没有授权用户请求Google+的作用域。你的服务初始化器应该是这样的:
UserCredential credential;
var initializer = new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = secrets,
Scopes = new[] { PlusService.Scope.PlusLogin}
};
var flow = new AAGoogleAuthorizationCodeFlow(initializer);
credential = await new AuthorizationCodeInstalledApp(flow, new LocalServerCodeReceiver()).AuthorizeAsync
("user", CancellationToken.None).ConfigureAwait(false);
// Create the service.
var service = new PlusService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential
});
在Google+快速入门示例中演示了登录Google+的官方方式。一旦你登录用户,你将能够使用c#客户端库编写时刻,例如:
Moment body = new Moment();
ItemScope itemScope = new ItemScope();
itemScope.Id = "replacewithuniqueforaddtarget";
itemScope.Image = "http://www.google.com/s2/static/images/GoogleyEyes.png";
itemScope.Type = "";
itemScope.Description = "The description for the action";
itemScope.Name = "An example of add activity";
body.Object = itemScope;
body.Type = "http://schema.org/AddAction";
MomentsResource.InsertRequest insert =
new MomentsResource.InsertRequest(
service,
body,
"me",
MomentsResource.InsertRequest.CollectionEnum.Vault);
Moment wrote = insert.Execute();
Console.WriteLine("Wrote app activity:'n" + wrote.Result);
如果你想从控制台应用程序中做到这一点,你可以从GitHub c#控制台演示解决方案开始。