2011-08-19 177 views
1

我不想將SDK添加到我的項目中,但我想將消息發佈到FB頁面(公共頁面,而不是我)。 當我明白我需要做的SMT這樣不使用PHP-SDK發佈到Facebook牆?

curl -F 'access_token=...' \ 
    -F 'message=Check out this funny article' \ 
    -F 'link=http://www.example.com/article.html' \ 
    -F 'picture=http://www.example.com/article-thumbnail.jpg' \ 
    -F 'name=Article Title' \ 
    -F 'caption=Caption for the link' \ 
    -F 'description=Longer description of the link' \ 
    -F 'actions={"name": "View on Zombo", "link": "http://www.zombo.com"} \ 
    -F 'privacy={"value": "ALL_FRIENDS"} \ 
    https://graph.facebook.com/me/feed 

我怎樣才能獲取該訪問令牌密鑰? 當我使用來自請求https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=xxx&client_secret=yyy的令牌時,它表示它的令牌只能用於客戶端信息(client_credintials)。 我需要另一個grant_type,或另一個參數?

回答

0

對於您的版本,您需要來自用戶的publish_stream權限,該權限僅適用於您請求了該電子郵件。所以你需要用JS SDK或PHP(或任何其他服務器端)SDK

可以使它更簡單,如果你只是這個網址:

http://www.facebook.com/dialog/feed? 
    app_id=123050457758183& 
    link=http://developers.facebook.com/docs/reference/dialogs/& 
    picture=http://fbrell.com/f8.jpg& 
    name=Facebook%20Dialogs& 
    caption=Reference%20Documentation& 
    description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.& 
    message=Facebook%20Dialogs%20are%20so%20easy!& 
    redirect_uri=http://www.example.com/response 

看到https://developers.facebook.com/docs/reference/dialogs/feed/http://developers.facebook.com/docs/reference/javascript/FB.ui/更多的例子。

+0

所以我不能只發送消息沒有任何對話框/重定向? – Wayne

+0

nope。想象一下如果可能的話會發生的垃圾郵件。 – Rufinus

+0

但我認爲這就是爲什麼我使用訪問令牌。 在我們的「類似Facebook的」社交網絡中,我只爲我的應用程序獲取令牌(一次),然後用它發佈消息。 – Wayne

0

所有我想知道的是:

1)驗證應用程序對話框:

https://www.facebook.com/dialog/oauth?client_id=xxx&scope=publish_stream,offline_access&redirect_uri=http://site.com 

2)獲取 「永遠」 訪問令牌:

https://graph.facebook.com/oauth/access_token?client_id=xxx&client_secret=yyy&code=zzz&redirect_uri=http://site.com 

3)塗鴉牆:

https://graph.facebook.com/me/feed?access_token=aaa&message=msg