我有一个用PHP编写的博客网站,它发布了新的博客文章到Twitter和使用php curl传递的简单http post请求自动引导博客.
我有一个博客网站的Facebook页面,并希望更新发布到页面的墙上,有一个简单的方法来做到这一点?
我真正想要的是一个url和一组params作为http post请求包裹起来.
请注意,这是在新样式页面而不是配置文件上发布到墙上.
提前致谢.
我做了很多搜索,我发现过时的教程不起作用......
我有一个用PHP制作的网站,当我在我的管理区域提交一个特定的表单时,我想发布到我的Facebook"粉丝页面"
没有RSS可用,所以你有什么例子来直接发布到使用PHP SDK中的Facebook粉丝页面(不是用户墙)?
谢谢!
php facebook facebook-wall facebook-graph-api facebook-fan-page
我对Android的fb sdk有疑问(从http://github.com/facebook/facebook-android-sdk下载).试图发布墙但总是得到错误(权限已设置并登录到fb)
这是代码片段onClick函数,我对他们的示例代码进行了小的修改:
Bundle params = new Bundle();
params.putString("message", "Test");
params.putString("name", "American Virgin");
params.putString("link", "http://bit.ly/12345");
params.putString("description", "A Freshman College Girl on a scholarship from an ...");
params.putString("picture", "http://xxx/MOV1026.jpg");
mAsyncRunner.request("me/feed", params, "POST", new TestRequestListener());
Run Code Online (Sandbox Code Playgroud)
从DDMS我收到以下错误:
09-16 18:55:28.372: WARN/Bundle(14392): Key picture expected byte[] but value was a java.lang.String. The default value <null> was returned.
09-16 18:55:28.414: WARN/Bundle(14392): Attempt to cast generated internal exception:
09-16 18:55:28.414: WARN/Bundle(14392): java.lang.ClassCastException: java.lang.String
09-16 18:55:28.414: WARN/Bundle(14392): at android.os.Bundle.getByteArray(Bundle.java:1220)
09-16 18:55:28.414: WARN/Bundle(14392): at com.facebook.android.Util.openUrl(Util.java:153)
09-16 18:55:28.414: …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,将数据发布到Facebook页面的墙上.我已经设置了一个Facebook应用程序,当前在尝试发布到他们的页面墙时请求用户提供以下权限:
publish_streamoffline_accessmanage_pages代码当前成功发布到PROFILE的墙上,但是当尝试发布到PAGE的墙时,会返回以下错误:
Facebook错误:(#200)用户未授权应用程序执行此操作.
同样,我正在请求权限,这显然足以发布到个人资料的墙上,但不能发布到页面的墙上.我发布到页面墙上的哪些权限丢失了?预先感谢您的任何帮助.
出于研究目的,我需要获得欧盟委员会Facebook页面的所有帖子.我试过这个链接,但我无法访问:http://graph.facebook.com/EuropeanCommission/posts
我是否有机会获得委员会发布的所有帖子的清单?或者我是否需要从时间线手动复制并粘贴它们?不需要评论.
我知道有可能获得一个rss feed或其他任何关于组的墙帖.但是,每次我尝试使用我所属的封闭组时,它都不起作用.如果您不是某个组的管理员或所有者而只是一名成员,这可能吗?这是我到目前为止所采取的步骤.
- 在http://developers.facebook.com/setup/上创建一个应用程序
- 完成后,您将看到App Name,App URL,App ID和App Secret.复制这些数据.
- 访问https://graph.facebook.com/oauth/authorize?client_id= {CLIENT_ID}&scope = offline_access&redirect_url = {URL}.
将{CLIENT_ID}替换为您的App ID.将{URL}替换为您的应用URL.
- 当您提示"请求权限"页面时,单击[允许]按钮.
- 您将重定向到{URL} /?code = {YOUR CODE}
- 复制{你的代码}
- 访问https://graph.facebook.com/oauth/access_token?client_id= {CLIENT_ID}&redirect_uri = {URL}&client_secret = {APPLICATION_SECRET}&code = {YOUR_CODE}
将{CLIENT_ID}替换为您的应用ID将{URL}替换为您的应用URL将{APPLICATION_SECRET}替换为您的App Secret将{YOUR_CODE}替换为您的{YOUR CODE}
当你点击网址时,你将获得访问令牌.
此时我没有获得访问令牌.
{
"error": {
"message": "This authorization code has expired.",
"type": "OAuthException",
"code": 100
}}
Run Code Online (Sandbox Code Playgroud)
问题是,我刚刚创建了2秒之前的身份验证代码.它无法过期.所以我不能按照下面的其他步骤,直到我有访问令牌.
复制您的访问令牌.
现在,使用您的访问令牌访问以下网址.
http://graph.facebook.com/ {您的群组ID}/feed?access_token = {ACCESS TOKEN}
当你转到你的群组页面时,你的网址就像/group.php?gid=xxxxxxxxx.在这种情况下,gid是您的组ID.
我试图从个人资料facebook获取墙贴.我对粉丝页面没有任何问题,我的用户令牌有效(至少对于粉丝页面).
这篇文章的例子:https://www.facebook.com/aurelia.filion/posts/10151342315613445 正如你所看到的那样,帖子是公开的.
所以我尝试:graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN graph.facebook.com/10151342315613445?access_token=MY_TOKEN
它返回:"error":{"message":"Unsupported get request.","type":"GraphMethodException","code":100
在我的Api图浏览器中,我无法看到该用户的帖子.graph.facebook.com/529628444?fields=posts(529628444是aurelia.filion的id)
那么有可能获得墙贴吗?它是公开的应该是获得它们的一种方式
谢谢
好吧,我将以不同的方式解释,我的目标是用图表获得这种帖子(我可以获得除了这些之外的所有其他帖子)
facebook.com/aurelia.filion/posts/10151342315613445
facebook.com/aurelia.filion/posts/10151336175793445
但我收到错误"不支持获取请求".
我已经尝试了这个链接无法正常工作的用户令牌和应用令牌:graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN
当我尝试使用饲料时,我没有看到我想要的帖子.
如果我要求帖子graph.facebook.com/529628444/posts?limit=100&access_token=TOKEN我可以看到一切(链接,照片等)除了怪异的帖子!
我怎么能得到这些帖子,这是一个象征性的问题,它看起来像是一个状态,是不是得到了,我的意思是我们需要权限吗?graph.facebook.com/529628444?fields=statuses&access_token=TOKEN它不会返回任何结果!它是空的!
编辑
我们在过去一周左右开始运营一个URL缩短器,我们开始看到{normal url}/no_facebook_preview_picture.jpg来自Facebook拥有的IP和用户代理的许多奇怪的请求facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)
如果我在我的墙上发布我们站点的正常链接(设置为Only Me我可以测试),我在访问日志中获得以下条目
66.220.152.6 - - [05/Feb/2013:16:31:36 +0000] "GET /44_U HTTP/1.1" 200 1314 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
Run Code Online (Sandbox Code Playgroud)
但是,如果我发布一个返回404或410的链接(创建后删除垃圾链接),我会得到这个
69.171.237.15 - - [05/Feb/2013:16:49:16 +0000] "GET /notexistURL HTTP/1.1" 404 1319 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
Run Code Online (Sandbox Code Playgroud)
然后在一个小时左右
173.252.110.113 - - [05/Feb/2013:17:15:15 +0000] "GET /notexistURL/no_facebook_preview_picture.jpg HTTP/1.1" 404 0 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)" "-"
Run Code Online (Sandbox Code Playgroud)
该IP的WhoIs报告
NetName FACEBOOK-INC
NetHandle NET-173-252-64-0-1
Run Code Online (Sandbox Code Playgroud)
所以他们肯定是Facebook的IP.
我们每天都会收到大约10-20个这样的请求,都是相同的.我们只能获得7天的日志文件,但这些请求发生在7天前.
我已经测试了独特的链接,因此没有其他方法可以找到该链接.我没有亲自使用Facebook,除了我的测试链接之外的所有链接都是由其他用户创建/发布的,但我认识到链接到我的Facebook帐户的所有应用程序并没有什么不寻常的,所以我不认为这是第三方应用程序(我可以提供一个列表,如果需要,但他们都是大牌应用程序)
在我检查日志文件期间,Facebook甚至似乎没有智能地创建这些请求,它只是盲目地将字符串粘贴在/no_facebook_preview_picture.jpgURL的末尾,即使使用查询字符串也是如此.例如;
69.171.228.114 - - [05/Feb/2013:17:19:13 +0000] "GET /iAmNotARealURL1234777?ref=fb&cows_go=moo HTTP/1.1" 404 1118 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
69.171.228.114 …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一个API调用(或一组调用),这将允许应用程序获取在查看朋友的墙时会看到的帖子.REST调用或FQL调用都可以.
我尝试/喂食/发布,将结果与我在朋友的墙上看到的结果进行比较,我得到的结果是不完整的.
我知道这是可能的,因为像Friendly这样的应用程序能够做到这一点.
任何提示?
我的应用程序的ONe是在页面上发布信息(作为页面).但看起来只有我(我是该页面的管理员)才能看到该消息.我使用Graph API资源管理器检查了该消息的隐私设置,它看起来没问题:
"privacy": {
"description": "Public",
"value": "EVERYONE"
},
Run Code Online (Sandbox Code Playgroud)
我可以看到的一个区别是,看过帖子的人是用英语写的(对于其他帖子,用法语写的).
我能错过什么?
Thx提前!
facebook ×10
facebook-wall ×10
android ×1
api ×1
permissions ×1
php ×1
token ×1
visibility ×1
web-crawler ×1