gpt4 book ai didi

c# - 如何使用应用程序访问 token 使用 publish_stream 而不是 offline_access 发布到 Facebook 用户的 friend 的墙上

转载 作者:行者123 更新时间:2023-11-30 12:50:41 26 4
gpt4 key购买 nike

publish_stream 的文档如下:“使您的应用能够将内容、评论和点赞发布到用户的流和用户的 friend 的流中。有了这个权限,您可以随时将内容发布到用户的供稿中,而无需需要 offline_access。”

所以工作流程是这样的:

  1. FB.login() 的 publish_stream 范围如下:

    FB.login(function (response) {
    if (response.authResponse) {
    FB.api('/me/permissions', function (permissions) {
    if (permissions.data[0].publish_stream == 1) {
    //user has now granted publish_stream to this application
    }
    });
    }
    }, { scope: 'publish_stream' });
  2. 使用 C# Facebook SDK 使用应用程序的访问 token 发布到该用户 friend 的墙上。

    var client = new FacebookClient(FacebookAppId, FacebookAppSecret);

    // Build the wall post
    dynamic parameters = new ExpandoObject();
    parameters.message = facebookDeliveryQueueItem.MessageBody; // user message

    // Post to the wall
    client.Post(facebookRecipientId + "/feed", parameters);

返回:

{"error":{"message":"(#200) The user hasn't authorized the application to perform this action","type":"OAuthException"}}

但是!如果我尝试使用此代码发布到我自己的墙上,它工作得很好。

如果用户将 publish_stream 授予我的应用程序,我就可以使用 APPLICATION 访问 token (您通过向 https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APP_ID_HERE&client_secret=APP_SECRET_HERE 发出 GET 获得它)在该用户的墙上发帖——但不能在该用户的 friend 的墙上发帖。

那么 Facebook 文档中的“和用户 friend 的流”部分是谎言还是我做错了?那里有大量的错误信息。

最佳答案

<罢工>您应该明确指定 access_token在发出请求之前,如果您省略它 access_token使用当前用户的。

在调用 client.Post 之前添加这个

parameters.access_token = FacebookAppId+"|"+FacebookAppSecret;

<罢工>

文档是正确的(在本例中)。一旦用户授予您,您就可以在用户和他的 friend 墙上发帖 publish_stream使用应用程序的权限 access_token (无需 需要询问 offline_access !)尊重墙所有者的偏好。一些用户将隐私设置设置为拒绝特定用户/应用程序甚至其他任何人发布内容。

确保您可以使用 http://facebook.com 在该特定 friend (您有问题的 friend )墙上发帖使用Graph API Explorer工具(肯定会提供应用程序 access_token)。

关于c# - 如何使用应用程序访问 token 使用 publish_stream 而不是 offline_access 发布到 Facebook 用户的 friend 的墙上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com