Как разрешить пользователю входить в систему в качестве страницы, а затем публиковать в качестве этой страницы с помощью C # Facebook SDK? - PullRequest
2 голосов
/ 11 октября 2011

Как разрешить пользователю входить в систему в качестве страницы, а затем публиковать в качестве этой страницы, используя C # Facebook SDK?

Этот вопрос не является расплывчатым и не имеет отношения к причине, по которой он был закрыт ранее. На самом деле это невероятно простой и понятный вопрос.

Как разрешить пользователю входить в систему и публиковать на странице в виде страницы с помощью C # Facebook? Насколько проще и понятнее это получится?

1 Ответ

3 голосов
/ 11 октября 2011

Я решил опубликовать этот ответ, потому что мне было любопытно, как мне поступить с помощью C #, потому что я сейчас пытаюсь научить себя этому.

Ни один из кодов не тестировался, но я просто надеялся, что смогу использовать информацию из Интернета, чтобы попытаться собрать что-то базовое, что с небольшой настройкой может заставить вас работать.

На тот случай, если вы его еще не нашли, вы найдете SDK Facebook C # и пример здесь

Чтобы пользователь мог управлять страницей, он должен следовать процедуре аутентификации, указанной в документах здесь .

Для этого вы просите пользователя авторизовать ваше приложение, используя ваш APP_ID как обычно, но вам потребуются разрешения manage_pages и publish_stream:

https://www.facebook.com/dialog/oauth?
 client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages,publish_stream&
 response_type=token

Таким образом, любыми возможными способами (окно браузера?), Вы должны заставить пользователя принять разрешения, чтобы ваше приложение могло получить доступ к страницам пользователя.

С тех пор, как только пользователь принял, вы можете делать простые вызовы API (get и POST), как показано в примере, в тот момент, когда он показывает:

JSONObject me = api.Get("/4");
Console.WriteLine(me.Dictionary["name"].String);

Это user_id '4', Марк Цукерберг.

Итак, глядя на C # SDK Core, есть функция api.MakeRequest (), поэтому я предполагаю, что вы делаете что-то похожее на это:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Facebook;

namespace FacebookSampleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get an access token in some manner.
            // By default you can only get public info.
            string token = null;

            Facebook.FacebookAPI api = new Facebook.FacebookAPI(token);

            var parameters = new Dictionary
            {
               { "message",  'Wow, I love Google!' },
               { "name" ,  'Google' },
               { "description" ,  'Description of post' },
               { "picture", 'http://www.google.com/logo.png' },
               { "caption" ,  'This is google.com' },
               { "link" ,  'http://www.google.com' },
               { "type" , "link" }
            };

            JSONObject wallPost = api.MakeRequest("/[PAGE_ID]/feed", 'POST', parameters);

        }
      }
    }

Я не сомневаюсь, что этот код не будет работать сразу, он потребует некоторых проб и ошибок, но я надеюсь, что мне удалось каким-то образом помочь вам.

Случайные источники:

http://www.jamescrowley.co.uk/2011/02/03/posting-to-facebook-page-using-c-sdk-from-offline-app/ http://developers.facebook.com/docs/reference/api/post/ https://github.com/facebook/csharp-sdk/blob/master/examples/Program.cs http://developers.facebook.com/tools/explorer/?method=GET&path=2439131959 http://developers.facebook.com/docs/reference/api/page/

...