我可以使用 Facebook Graph API 将照片上传到属于粉丝(公司)页面墙的墙吗?

发布于 2024-08-31 16:48:59 字数 88 浏览 0 评论 0原文

我需要知道是否可以使授权用户可以使用图形 API 将照片上传到公司的粉丝页面(到墙上)。 另外,一旦用户获得授权,是否可以通过 api 成为公司页面(成为粉丝)。

I need to know if it's possible to make it so authorized users can upload photos to a fan page of a company (to the wall) using the graph API.
Also, is it possible to become like (become a fan) of a company page through the api once the user is authorized.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暗地喜欢 2024-09-07 16:48:59

是的,你可以。您需要使用 Graph API 浏览器 (https://developers.facebook.com/tools/explorer) 并调用

https://graph.facebook.com/{adminfacebookid}/accounts

这将列出您的管理员有权访问的所有页面和应用程序。查找有问题的粉丝页面并复制 accessToken。

接下来,通过单击页面的 id 来获取 albumid,然后将 /albums 添加到

配备此的请求中,然后您可以使用 facebook web 客户端将图像数据发布到 url,

如下所示

protected void PublishToPublicGallery(string accessToken, string filename, long albumId, string imagename)
        {

            var facebookClient = new FacebookClient(accessToken);
            var mediaObject = new FacebookMediaObject
            {
                FileName = filename,
                ContentType = "image/jpeg"
            };
            var fileBytes = System.IO.File.ReadAllBytes(filename);
            mediaObject.SetValue(fileBytes);

            IDictionary<string, object> upload = new Dictionary<string, object>();
            upload.Add("name", imagename);
            upload.Add("source", mediaObject);
            var result = facebookClient.Post("/" + albumId + "/photos", upload) as JsonObject;    
        }

Yes you can. You need to obtain your admin access token by using the Graph API explorer (https://developers.facebook.com/tools/explorer) and with a call to

https://graph.facebook.com/{adminfacebookid}/accounts

this will list all pages and apps your admin has access to. Look for the fan page in question and copy the accessToken.

Next get the albumid by clicking on the id of the page, then adding /albums to the request

armed with this you can then post the image data to the url, using the facebook web client

like this

protected void PublishToPublicGallery(string accessToken, string filename, long albumId, string imagename)
        {

            var facebookClient = new FacebookClient(accessToken);
            var mediaObject = new FacebookMediaObject
            {
                FileName = filename,
                ContentType = "image/jpeg"
            };
            var fileBytes = System.IO.File.ReadAllBytes(filename);
            mediaObject.SetValue(fileBytes);

            IDictionary<string, object> upload = new Dictionary<string, object>();
            upload.Add("name", imagename);
            upload.Add("source", mediaObject);
            var result = facebookClient.Post("/" + albumId + "/photos", upload) as JsonObject;    
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文