2013-08-20 58 views
0

我試圖將自定義故事發布到概念證明Facebook應用程序,包括對象類型「徽章」和動作類型「賺取」。當我在Facebook Open Graph Types界面中爲此獲取代碼時,Graph Explorer示例成功地將故事發布到我的時間軸上。但是,一個參數(「徽章」)是對OG樣本的URL引用。將自定義故事發布到Facebook打開圖形

如何直接發佈內容,而不是作爲OG樣本的參考?

使用C#SDK,我正在嘗試這樣的:

var client = new FacebookClient(); 
client.AccessToken = tokenResult.access_token; 

dynamic parameters = new ExpandoObject(); 
parameters.badge = @" 
    { 
     ""app_id"" : [my app ID], 
     ""title"" : ""Widget Badge"", 
     ""image"" : ""[a public image URL]"", 
     ""url"" : ""[a public website URL]"", 
     ""type"" : ""[my custom namespace]:badge"" 
    } 
    "; 

var result = client.Post("/me/[my custom namespace]:earn", parameters); 

不過,我從Facebook找回的例外是:

「[以上JSON]」 是類型爲「參考」的屬性「徽章」的值無效

以下是我在網上找到的一些代碼片段,我嘗試將上述屬性「徽章」更改爲通用「發佈」(我是wou ld猜測依賴於「type」值來知道它發佈的內容),但是那個錯誤說我錯過了所需的參數「徽章」。

在這種情況下,我還沒有找到任何告訴我「參考」類型是什麼的東西,儘管我可以忽略某些東西。在原始示例中,它是OG Samples的URL,但我認爲我們可以發佈自定義事物而不僅僅是樣本。我是否需要使用像OG Samples之類的元標記中的值來託管我自己的某個「樣本」頁面,或者我可以直接在帖子中直接指定值?

回答

2

要發佈一個對象的動作,你需要提供這個對象的url。 但是,如果您沒有在自己的應用上使用此網址(您的應用沒有針對每個對象的網頁),那麼您可以創建由Facebook直接託管的對象,並且網址將使用生成的ID這個對象。 要做到這一點,你需要使用對象API:https://developers.facebook.com/docs/opengraph/using-object-api/

提供了JSON數據,它會創建了Facebook opengraph對象,返回其ID(讓你有網址),然後,你就可以發佈你的動作

+0

我注意到在我的活動源中的自定義動作故事中注意到的一件有趣的事情...對象名稱和應用程序名稱(「David通過[應用程序名稱]贏得[對象名稱])都是用我不認識的各種參數鏈接到我的應用程序中的回調URL。有什麼參考資料,以及我的網站應該如何迴應? – David

+1

Here:https://developers.facebook.com/docs/opengraph/guides/link-parameters/ –

相關問題