小编Bub*_*bba的帖子

facebook c#sdk入门

我想编写一个控制台应用程序,每天早上自动将信息发布到我的墙上.

我已经注册了Facebook开发者并拥有AppID和App Secret

我一直在尝试使用C#facebook SDK并查看了几个示例.

似乎示例获取用户令牌 - 但必须使用Windows窗体中的浏览器.这是一个自动化过程 - 所以我不想让用户在场.

我还使用应用程序令牌创建了一些示例 - 但它似乎无法写入墙.

我很快写了Twitter等价物.我一定在这里遗漏了什么?

什么是正确的方法?

似乎所有我应该需要的是:FaceBookClient(appID,appSecret)然后只是FaceBookClient.Put(消息)???

澄清补充说:

使用C#facebook sdk winform应用程序我不得不更改他们的FacebookLoginDialog.cs以使用folling URL:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APPID&client_secret=APPSECRET&scope=user_about_me,publish_stream,offline_access

它返回WebBrowser.DocumentText中的一个accesskey

如果我然后打电话:

            var fb = new FacebookClient(_accessToken);
            dynamic parameters = new ExpandoObject();
            parameters.message = "Hello World!";
            dynamic result = fb.Post("me/feed", parameters);
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息.

如果我将上面的代码更改为不使用该访问令牌 - 但使用appID和Appsecret:

           FacebookClient myFacebookClient = new FacebookClient("APPID", "APPSECRET");
            dynamic parameters = new ExpandoObject();
            parameters.message = "Hello World!";
            dynamic result = myFacebookClient.Post("me/feed", parameters);
Run Code Online (Sandbox Code Playgroud)

然后我得到了例外:

(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息.

我想这是同样的例外

c# sdk facebook facebook-c#-sdk

8
推荐指数
1
解决办法
2万
查看次数

无法获取浏览器网页的 HTML 源,异步到同步问题

Visual Studio 2017、Windows 10、.NET Framework 4.8、CefSharp WinForms 83.4.20、平台目标 x64

创建了新的非常简单的 CefSharp Windows 窗体应用程序。我无法获取网页的 html 源代码。我想我已经查看了 StackOverflow 上的每个 CefSharp 和异步同步问题 - 尝试了很多解决方案 - 我的头已经变得糊涂了。这是我看到的第一个问题 - 我也有同样的问题。

从 CefSharp Web 浏览器获取 HTML 源代码

'浏览器.ViewSource();' 确实会弹出一个记事本,其中包含网页的源代码。但是当我尝试使用源代码获取字符串时 - 任务似乎永远不会运行。运行以获取网页源的任务显示 ---> Status = WaitingForActivation ---> 并且永远不会返回源。

我尝试过异步到同步的转换 - 可能有十种不同的方式。没有工作。一个 StackOverflow 解决方案建议使用 Application.DoEvents() - 所以我什至尝试过。

希望有人有一些想法。这个浏览器似乎有很大的潜力 - 但我需要获取网页源 html。

using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
using System.Diagnostics;
namespace Test1
{
    public partial class Form1 : Form
    {
        public ChromiumWebBrowser browser;
        public Form1() …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous async-await cefsharp

0
推荐指数
1
解决办法
2738
查看次数