can facebook open graph objects be created dynamic

2019-02-18 22:40发布

问题:

I am developing a facebook application. I have a custom object created in the open graph, below listed are few of my concerns

  1. Do every object instances under a specific object type require a unique web page?
  2. I am using JS SDK to post open graph actions, is there any rule that the object url("myobjectrul" in the below code) I use in the js function for eg:

FB.api('/me/myapp:myaction' + '?myobject=myobjecturl&access_token=myaccessToken', 'post', { scrape: true },

         function (response) {
             var msg = 'Error occured';
             if (!response || response.error) {
                 if (response.error) {
                     msg += "\n\nType: " + response.error.type + "\n\nMessage: " + response.error.message;
                 } alert(msg);
             } else {
                 alert('Post was successful! Action ID: ' + response.id);
             }
         });

should be same with the og:url in the metatag in the object?

  1. can we pass any query strings along with the object url that can be retrieved in the object page?

  2. How can we post the same object type with different object properties(for eg. different image, different urls etc.)

any help is greatly appreciated.

回答1:

The answer is yes. Every instance of an object maps to a page, be it html, C#, php... whatever. So if you are a jquery ajax dynamic programmer you will have to shift your architecture or go without open graph.

My company http://www.fuhshnizzle.com uses jquery, ajax, Amazon S3 to create video playlists that run in the player. This is an extremely lightweight architecture. Recently we allocated resources to publish playlists directly to the open graph. Our senior architects did not initially grasp that this was not dynamic. They assumed they could define the objects like C# classes for example, and then instantiate them dynamically at publish time.

There was quite a bit of consternation that in our case we would have to publish one web page per playlist and then the issue came up as to CRUD. What if the user changes the playlist, deletes it, etc. In essence one would need to turn html pages into the equivalent of database records.

From a cost/benefit perspective this is ROUGH. If we have 100,000 playlists created daily do we now have to publish and maintain 100,000 web pages? The answer is YES. That is a very expensive proposition that seems to ignore the power of the web to create content on the fly via parameters and scripts. Having to create static content was a deal breaker for my company after many emotional meetings.

Our chief architect stormed out muttering something about the "tail wagging the dog." For what it is worth my thoughts are this is a business decision that must be made depending on your business model.

Publishing Objects

Open Graph Objects are simply your web pages with Open Graph meta tags.

Generating Facebook Open Graph meta tags dynamically