c# – 如何使用publish_stream发布到Facebook用户的朋友的墙上但不使用应用程序访问令牌发布offline_access

c# – 如何使用publish_stream发布到Facebook用户的朋友的墙上但不使用应用程序访问令牌发布offline_access,第1张

概述publish_stream的文档读取:“使您的应用程序能够将内容,评论和喜欢发布到用户的流和用户朋友的流中.通过此权限,您可以随时将内容发布到用户的订阅源,而无需offline_access. “ 因此工作流程如下: >具有publish_stream范围的FB.login()如下: FB.login(function (response) { if (response.authResp publish_stream的文档读取:“使您的应用程序能够将内容,评论和喜欢发布到用户的流和用户朋友的流中.通过此权限,您可以随时将内容发布到用户的订阅源,而无需offline_access. “

因此工作流程如下:

>具有publish_stream范围的FB.login()如下:

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' });

>使用C#Facebook SDK使用应用程序的访问令牌发布给该用户的朋友的墙.

var clIEnt = new FacebookClIEnt(FacebookAppID,FacebookAppSecret);// Build the wall postdynamic parameters = new ExpandoObject();parameters.message = facebookDeliveryQueueItem.MessageBody; // user message// Post to the wallclIEnt.Post(facebookRecipIEntID + "/Feed",parameters);

返回:

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

然而!如果我尝试使用此代码发布到我自己的墙上,它可以正常工作.

如果用户将publish_stream授予我的应用程序,我可以使用APPliCATION访问令牌(通过发出GET到https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APP_ID_HERE&client_secret=APP_SECRET_HERE得到这个)来发布在该用户的墙上 – 但不是该用户的朋友的墙.

Facebook文档中的“和用户朋友的流”也是谎言,或者我做错了吗?那里有大量的错误信息.

解决方法 您应该在发出请求之前显式指定access_token,如果省略它,则使用当前用户的access_token.

在调用clIEnt.Post之前添加它

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

文档是正确的(在这种情况下).一旦用户使用应用程序access_token授予您publish_stream权限(无需请求offline_access!),您就可以在用户和他的朋友墙上发布关于墙所有者偏好的信息.某些用户设置隐私设置以拒绝特定用户/应用程序甚至其他任何人发布内容.

确保您可以使用http://facebook.com并使用Graph API Explorer工具(确保提供应用程序access_token)发布该特定朋友(您有问题)的墙.

总结

以上是内存溢出为你收集整理的c# – 如何使用publish_stream发布到Facebook用户的朋友的墙上但不使用应用程序访问令牌发布offline_access全部内容,希望文章能够帮你解决c# – 如何使用publish_stream发布到Facebook用户的朋友的墙上但不使用应用程序访问令牌发布offline_access所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1228566.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存