我希望我的Facebook画布应用程序在与应用程序交互时向用户的朋友发送App Notification。这是我的服务器端代码(使用App Engine和urllib)。 conf.FACEBOOK_APP_ACCESS_TOKEN
是一个App Access Token,我通过调用Graph API然后硬编码返回的值来获得,如链接中所述。应用访问令牌类似于:
426547656256546|4fhe34FJdeV3WvfF6SNfehs7GfW
这不是我的实际代币:我已经用其他数字代替数字,其他大写字母用大写字母等,所以你可以看到格式。
url = 'https://graph.facebook.com/'+friendID+'/notifications'
values = {'access_token' : conf.FACEBOOK_APP_ACCESS_TOKEN,
'href' : 'http://localhost:8080/',
'template' : '@['+userID+'] says hi.'}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
urllib2.urlopen(req)
urlopen
给出错误:
WARNING Stripped prohibited headers from URLFetch request: ['Content-Length', 'Host']
ERROR HTTP Error 403: Forbidden
在此代码中,我需要更正哪些内容才能成功发送应用通知?
答案 0 :(得分:0)
应用程序通知只能从Canvas应用程序发送。我的应用在Facebook设置中设置为Website with Facebook Login
,不允许通知。为了解决这个问题,除了App on Facebook
之外我还检查了Website with Facebook Login
(虽然我认为它只适用于App on Facebook
)并指定了画布网址。