Не удалось найти appSecret для служб push-уведомлений в облаке IBM Bluemix

Или вы можете просто использовать commands.getstatusoutput :

   commands.getstatusoutput("ssh machine 1 'your script'")

Я использовал его широко и отлично работает.

В Python 2.6+, используйте subprocess.check_output .

-1
задан ken nishi 18 January 2019 в 11:31
поделиться

1 ответ

@ken Мы поддерживаем и AppSecret, и Tokens в swagger ( http://imfpush.ng.bluemix.net/imfpush/ ). Для новых созданных экземпляров не будет никакого AppSecret, так как это экземпляры на основе IAM. И нет другого пути, кроме токен-аутентификации. Эти экземпляры, созданные до июня 2018 года, будут работать с Appsecret. Но новые экземпляры будут работать только с токеном IAM. Это введено для лучшей безопасности. Пожалуйста, обратитесь к нашим примечаниям к выпуску для того же https://console.bluemix.net/docs/services/mobilepush/release-notes.html#release-notes . Чтобы узнать больше о реализации IAM в службе push-уведомлений, обратитесь к https://console.bluemix.net/docs/services/mobilepush/push_iam.html#service-access-management . См. Вопрос 21 в нашем разделе часто задаваемых вопросов https://console.bluemix.net/docs/services/mobilepush/push_faq.html#faq , чтобы узнать, как извлечь токен и использовать его.

Относительно Swagger введено новое поле авторизации для отправки токена IAM. Либо поле Авторизация, либо appSecret является обязательным.

Swagger

Пожалуйста, обратитесь к серверу SDK ( https://github.com/ibm-bluemix-mobile-services/bms-pushnotifications -serversdk-java ) файл readme, в котором клиент должен инициализировать Push с помощью ApiKey для нового экземпляра push, который IAM-токен автоматически генерирует методом инициализации.

PushNotifications.initWithApiKey("YOUR_APPLICATION_ID", "YOUR-BLUEMIX-PUSH-APIKEY", PushNotifications.US_SOUTH_REGION);

Initialize

Образец

public static void main(String[] args) {


    PushNotifications.initWithApiKey("appId", "APIKey", PushNotifications.US_SOUTH_REGION);
    Message message = new Message.Builder().alert("20% Off Offer for you").url("www.ibm.com").build();
    String [] deviceIds = {"deviceIds"};
    Target target = new Target.Builder().deviceIds(deviceIds).build();

    Notification notification = new Notification.Builder().message(message).target(target).build(); 
    PushNotifications.send(notification, new PushNotificationsResponseListener(){

        public void onSuccess(int statusCode, String responseBody) {
            System.out.println(responseBody);
            System.out.println("Successfully sent push notification! Status code: " + statusCode + " Response body: " + responseBody);
        }

        public void onFailure(Integer statusCode, String responseBody, Throwable t) {
            System.out.println("Failed sent push notification. Status code: " + statusCode + " Response body: " + responseBody);
            if(t != null){
                t.printStackTrace();
            }
        }
    });
}

Надеюсь, это поможет.

0
ответ дан pradeep sg 18 January 2019 в 11:31
поделиться