【问题标题】:C# MS-CRM 2013 online Plugin To Publish Event On Facebook PageC# MS-CRM 2013 在线插件在 Facebook 页面上发布事件
【发布时间】:2014-09-24 09:12:10
【问题描述】:

我的解决方案在技术上可能不可行。然而我想要你的观点 我们必须创建一个工作流/插件 MS-CRM 2013,它将事件从 CRM 发布到特定的 facebook 页面。

  1. 无法单独应用。
  2. 问题是,要发布我需要页面访问令牌。
  3. 要获得页面访问令牌,我需要用户访问令牌。
  4. 要获取用户访问令牌,我需要遵循 redirect_uri 路径,在该路径中我将获取 URL 字符串中的代码,但您可能知道 MS-CRM 2013 不允许“代码”作为 url 字符串,它将拒绝重定向自身到我的回调页面,这是我的问题。

我对使用 Facebook SDK 和简单 webrequest 的建议持开放态度。这给了我应用访问令牌

dynamic result = obj.Get("oauth/access_token", new
                {
                    client_id = this.fbAppID,
                    client_secret = this.fbAppSecret,
                    grant_type = "client_credentials",
                    scope = "publish_actions,manage_pages,create_event,read_stream,publish_stream,email,read_friendlists,read_insights,read_requests,manage_friendlists,user_about_me,user_activities,user_birthday,user_groups,friends_groups"
                });

现在我如何从 MS-CRM 2013 中在线获取用户访问令牌。 如果有人这样做了,请告诉我,如果您需要更多说明,我很乐意提供更多代码等。

【问题讨论】:

    标签: dynamics-crm-2011 dynamics-crm-2013


    【解决方案1】:

    你需要分离你的逻辑:

    1. 创建一个 HTML/JavaScript WebResource 组合,允许用户将其 CRM SystemUser 记录链接到 Facebook。构建类似于下面的代码 - 它需要额外的支持代码来检查用户是否已经连接到 Facebook 等。

    FB.login(function (response) { if (response.authResponse) { // user sucessfully logged in var accessToken = response.authResponse.accessToken; //TODO: Add logic to save accessToken to CRM SystemUser record. } }, { scope: 'email,publish_stream,email,rsvp_event,read_stream,user_likes,user_birthday' });

    1. 在您的插件中,从 CRM SystemUser 记录中检索步骤 1 中保存的 FB 访问令牌,并使用它来实例化您的 Facebook 连接对象:

    var obj = new FacebookClient(accessToken);

    这是获取访问令牌的大量工作。并且没有一个指南会清楚地解释混合纯 HTML/JS 以进行令牌检索,而是从 C# 进行调用,因为这是一个相当不寻常的要求。

    【讨论】:

    • 这就是答案,它工作得很好。谢谢你这么准确的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多