Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.93
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
#1

Шаринг социальных сетей - Android

20.12.2013, 21:31. Просмотров 3744. Ответов 24
Метки нет (Все метки)

Здравствуйте.
Помогите пожалуйста с шарингом соц сетей (ВК, FaceBook, Twitter).
Киньте ссылки на примеры, или на самые алгоритмы шаринга, каждой из соц. сети.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
21.12.2013, 03:54     Шаринг социальных сетей #2
http://dajver.blogspot.com/2013/03/f...ndroid_11.html facebook api,
http://habrahabr.ru/post/114544/ twitter api
а vk api ужасное, я с ним пытался разобраться но так и не вышло
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
21.12.2013, 11:44     Шаринг социальных сетей #3
А еще есть вариант шаринга для ленивых, но он работает только когда на устройстве пользователя установлены соответствующие клиенты социальный сетей. Погуглите про ShareActionProvider, или вот небольшой пример использования можно найти тут, а выглядит оно примерно так:
Шаринг социальных сетей
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
21.12.2013, 21:17  [ТС]     Шаринг социальных сетей #4
Нужно "шарить" : ссилку, текст и картинку
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
22.12.2013, 02:09     Шаринг социальных сетей #5
Цитата Сообщение от fanat094 Посмотреть сообщение
Нужно "шарить" : ссилку, текст и картинку
Я как то для игры на юнити делал подобный шаринг (парсер форума добавил урл везде, скатина х()

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Facebook
{
//ид приложения
    const string AppId = "184381931754089";
    const string ShareUrl = "http://www.facebook.com/dialog/feed";
 
//сам метод шаринга
    public static void Share (string link, string pictureLink, string name, 
    string caption, string description, string redirectUri)
    {
//только я не помню что вместо Application.OpenURL  нада вставить. кажись что то подобное [url]http://stackoverflow.com/questions/10455831/http-get-request-in-android-2-3-3[/url]
        Application.OpenURL (ShareUrl + 
        "?app_id=" + AppId + 
        "&link=" + [url]WWW.EscapeURL[/url] (link) + 
        "&picture=" + [url]WWW.EscapeURL[/url] (pictureLink) + 
        "&name=" + [url]WWW.EscapeURL[/url] (name) + 
        "&caption=" + [url]WWW.EscapeURL[/url] (caption) + 
        "&description=" + [url]WWW.EscapeURL[/url] (description) + 
        "&redirect_uri=" + [url]WWW.EscapeURL[/url] (redirectUri));
    }
}
Вызывать его можно таким макаром

C#
1
Facebook.Share (и тут перечисленные ссылкки добавляем)
так и с сотальными, Twitter

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Twitter
{
    const string Address = "http://twitter.com/intent/tweet";
 
    public static void Share (string text, string url, 
    string related, string lang)
    {
        Application.OpenURL (Address + 
        "?text=" + [url]WWW.EscapeURL[/url] (text) + 
        "&url=" + [url]WWW.EscapeURL[/url] (url) + 
        "&related=" + [url]WWW.EscapeURL[/url] (related) + 
        "&lang=" + [url]WWW.EscapeURL[/url] (lang));
    }
}
и vk

C#
1
2
3
4
5
6
7
8
9
10
11
public class VK
{
 
    const string ShareUrl = "http://vk.com/share.php";
 
    public static void Share (string link, string image, string description, string title)
    {
        Application.OpenURL (ShareUrl + "?url=" + link +
            "&image=" + image + "&description=" + description + "&title=" + title);
    }
}
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
22.12.2013, 21:40     Шаринг социальных сетей #6
Цитата Сообщение от dajver Посмотреть сообщение
http://habrahabr.ru/post/114544/ twitter api
Не думаю, что сработает. Так как в 2013 году Twitter изменил версию api, а указанная статья ссылается "26 февраля 2011". Если я не прав, поправьте.
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
24.12.2013, 02:37  [ТС]     Шаринг социальных сетей #7
помогите еще с vk и twitter
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
25.12.2013, 23:01  [ТС]     Шаринг социальных сетей #8
dajver, как зарегистрировать свое приложения в фейсбуке, и как получить ключ (с помощью командной строки)?

Добавлено через 51 секунду
как зарегистрировать свое приложения в фейсбуке, и как получить ключ (с помощью командной строки)?
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
25.12.2013, 23:09     Шаринг социальных сетей #9
Цитата Сообщение от fanat094 Посмотреть сообщение
dajver, как зарегистрировать свое приложения в фейсбуке, и как получить ключ (с помощью командной строки)?
http://dajver.blogspot.com/2013/03/f...ndroid_11.html тут описано или в офф документации https://developers.facebook.com/docs...tting-started/
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
26.12.2013, 03:53  [ТС]     Шаринг социальных сетей #10
В чем здесь проблема??

Регистрация в FaceBook

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;
 
public class MainActivity extends Activity {
    
    Button button1;
    TextView textview1;
    
    private static String APP_ID = "Мой APP_ID"; 
                                      
    private Facebook facebook;
    private AsyncFacebookRunner mAsyncRunner;
    String FILENAME = "AndroidSSO_data";
    private SharedPreferences mPrefs;
 
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        facebook = new Facebook(APP_ID);
        mAsyncRunner = new AsyncFacebookRunner(facebook);
        button1 = (Button) findViewById(R.id.button1);
        textview1 = (TextView) findViewById(R.id.textView1);
        
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    loginToFacebook();
                }
        });};
        
        public void loginToFacebook() {
            textview1.setText("Нажата ОК");
            mPrefs = getPreferences(MODE_PRIVATE);
            String access_token = mPrefs.getString("access_token", null);
            long expires = mPrefs.getLong("access_expires", 0);
         
            if (access_token != null) {
                facebook.setAccessToken(access_token);
            }
         
            if (expires != 0) {
                facebook.setAccessExpires(expires);
            }
         
            if (!facebook.isSessionValid()) {
                facebook.authorize(this,
                        new String[] { "email", "publish_stream" },
                        new DialogListener() {
         
                            @Override
                            public void onCancel() {
                                // Function to handle cancel event
                            }
         
                            @Override
                            public void onComplete(Bundle values) {
                                // Function to handle complete event
                                // Edit Preferences and update facebook acess_token
                                SharedPreferences.Editor editor = mPrefs.edit();
                                editor.putString("access_token",
                                        facebook.getAccessToken());
                                editor.putLong("access_expires",
                                        facebook.getAccessExpires());
                                editor.commit();
                            }
         
                            @Override
                            public void onError(DialogError error) {
                                // Function to handle error
         
                            }
         
                            @Override
                            public void onFacebookError(FacebookError fberror) {
                                // Function to handle Facebook errors
         
                            }
         
                        });
            }
        }
        
}
Ключ есть.
Код не С++ конечно
Миниатюры
Шаринг социальных сетей  
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
26.12.2013, 04:50  [ТС]     Шаринг социальных сетей #11
При получении hash key, что здесь нужно поменять на свое и где оно должно находится??

C:Program FilesJavajdk1.6.0_30bin>keytool -exportcert -alias androiddebugkey -keystore
"C:Users\.androiddebug.keystore" | "C:OpenSSLbinopenssl" sha1 -binary |"C:OpenSSLbinopenssl" base64

"keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Тут androiddebugkey — псевдоним вашего ключа (alias), а ~/.android/debug.keystore –путь к хранилищу ключей (keystore).
При выполнении команды система обязательно должна спросить пароль – android.
Для получения хэша релизного ключа замените путь и псевдоним на свои, пароль тоже известен вам. После того как внесет оба хэша в нужно поле не забудь нажать “save changes”."
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
26.12.2013, 13:21     Шаринг социальных сетей #12
Java
1
private static String APP_ID = "Мой APP_ID";
этот ключ нада получать на сайте developers.facebook.com
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
26.12.2013, 16:31     Шаринг социальных сетей #13
Цитата Сообщение от fanat094 Посмотреть сообщение
private static String APP_ID = "Мой APP_ID";
в этой строке необходимо на место "Мой APP_ID" вставить полученный Id после создания приложения в developer console Facebook. Но ещё нужно сгенерировать KeyHash и вставить его в developer console Facebook. Очень хорошо описано как легко сгенерировать ключ по этой ссылке http://robodroidbeta.blogspot.com/20...k-android.html
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
26.12.2013, 18:26  [ТС]     Шаринг социальных сетей #14
Цитата Сообщение от dajver Посмотреть сообщение
Java
1
private static String APP_ID = "Мой APP_ID";
этот ключ нада получать на сайте developers.facebook.com
Я знаю, я этот ключ получил
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
27.12.2013, 21:25  [ТС]     Шаринг социальных сетей #15
dajver, В чем это может быть проблема? (скрин ниже)
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
27.12.2013, 21:46  [ТС]     Шаринг социальных сетей #16
скрин
Миниатюры
Шаринг социальных сетей  
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
28.12.2013, 02:35  [ТС]     Шаринг социальных сетей #17
dajver,
Код

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
public class MainActivity extends Activity {
 
Button button1;
    
    
    // Your Facebook APP ID
    private static String APP_ID = "Мой APP_ID"; // Replace your App ID here
 
    // Instance of Facebook Class
    private Facebook facebook;
    private AsyncFacebookRunner mAsyncRunner;
    String FILENAME = "AndroidSSO_data";
    private SharedPreferences mPrefs;   
    
    public void loginToFacebook() {
        
        mPrefs = getPreferences(MODE_PRIVATE);
        String access_token = mPrefs.getString("access_token", null);
        long expires = mPrefs.getLong("access_expires", 0);
     
        if (access_token != null) {
            facebook.setAccessToken(access_token);
    }
   
    if (expires != 0) {
        facebook.setAccessExpires(expires);
    }
 
    if (!facebook.isSessionValid()) {
        facebook.authorize(this,
                new String[] { "email", "publish_stream" },
                new DialogListener() {
 
                    @Override
                    public void onCancel() {
                        // Function to handle cancel event
                    }
 
                    @Override
                    public void onComplete(Bundle values) {
                        // Function to handle complete event
                        // Edit Preferences and update facebook acess_token
                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token",
                                facebook.getAccessToken());
                        editor.putLong("access_expires",
                                facebook.getAccessExpires());
                        editor.commit();
                    }
 
                    @Override
                    public void onError(DialogError error) {
                        // Function to handle error
 
                    }
 
                    @Override
                    public void onFacebookError(FacebookError fberror) {
                        // Function to handle Facebook errors
 
                    }
 
                });
    }
 
}
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        facebook = new Facebook(APP_ID);
        mAsyncRunner = new AsyncFacebookRunner(facebook);
        button1 = (Button) findViewById(R.id.button1);
      
        
        
        
        OnClickListener oclBtnOk = new OnClickListener() {
            @Override
            public void onClick(View v) {
              // Меняем текст в TextView (tvOut)
              
              loginToFacebook();
            }
          };
          
          button1.setOnClickListener(oclBtnOk);
          
    }
  }
Добавлено через 4 часа 46 минут
Здравствуйте.
Перепробовал множества примеров, но так и ничего не вышло.
Помогите, как сделать авторизацию facebook.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
31.12.2013, 17:27     Шаринг социальных сетей #18
Цитата Сообщение от fanat094 Посмотреть сообщение
Здравствуйте.
Перепробовал множества примеров, но так и ничего не вышло.
Помогите, как сделать авторизацию facebook.
Получите ещё раз KeyHash, как описано по ссылке в посте #13. Должно в настройках Facebook Console выглядеть как на скриншоте (только Ваши данные). Скриншот прилагается.
http://jpg.by/?di=REKF
fanat094
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 79
01.01.2014, 22:59  [ТС]     Шаринг социальных сетей #19
Stylish2013, не могу открыть ссылку(

Добавлено через 27 секунд
Stylish2013, можете скинуть ее как то по другому?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2014, 16:16     Шаринг социальных сетей
Еще ссылки по теме:

Шаринг соц сетей, intent Android
Шаринг в программе Android
WordPress Плагин социальных сетей
WordPress Кнопки социальных сетей
Поделиться ссылкой Google Play на приложение в социальных сетях Basic4Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.01.2014, 16:16     Шаринг социальных сетей #20
Цитата Сообщение от fanat094 Посмотреть сообщение
Stylish2013, можете скинуть ее как то по другому?
Ловите!
Миниатюры
Шаринг социальных сетей  
Yandex
Объявления
04.01.2014, 16:16     Шаринг социальных сетей
Ответ Создать тему
Опции темы

Текущее время: 01:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru