Переворачивание с ног на голову этого, полагайте, что Вы хотите разработать новый язык, и Вы хотите, чтобы оно работало в управляемом времени выполнения с JIT и GC. Тогда полагайте, что Вы могли:
(a) пишут, что Вы владеете управляемым временем выполнения (VM) и занимаетесь всеми видами технически сложных вопросов, которые, несомненно, приведут ко многим ошибкам, плохая производительность, неподходящая поточная обработка и большое усилие по мобильности
или
(b) компилируют Ваш язык в байт-код, который может работать на Java VM, который уже довольно зрел, быстро и поддерживаемый в ряде платформ (иногда больше чем с одним выбором поставщика impementation).
, Учитывая, что байт-код JavaVM не связывается так тесно с языком Java, что незаконно ограничило тип языка, который можно реализовать, это была популярная целевая среда для языков, которые хотят работать в VM.
Загрузите изображение в существующий альбом (или создайте новый), используя Graph API. Будет выглядеть примерно так:
$args = array('message' => 'Caption');
$args['image'] = '@' . realpath("the_image.png");
try {
$data = $facebook->api('/'.$album_uid.'/photos', 'post', $args);
}
catch(Exception $e) {
print "<pre>";
print_r($e);
print "</pre>";
}
Затем получите загруженное изображение через Graph API и перенаправьте на ссылку изображения, добавьте &makeprofile=1
в строку запроса. Теперь пользователь будет перенаправлен на страницу обрезки изображения профиля:
try {
$pictue = $facebook->api('/'.$data['id']);
header("Location: ".$pictue['link']."&makeprofile=1");
}
catch(Exception $e) {
print "<pre>";
print_r($e);
print "</pre>";
}
Приложение PicBadges выполняет эту работу четко. Просто взгляните на их приложение. Это довольно ясно, как они реализовали.
Они не загружают картинки напрямую в альбом "Картинки профиля". Вместо этого они загружают как обычно в свой автоматически сгенерированный альбом (в названии своего приложения), а затем выбирают изображение как «изображение профиля». Однако этот метод включает перенаправление пользователей на страницу, где им нужно обрезать ее, прежде чем закончить.
Интересная реализация к сведению!
Вы можете выгрузить в альбом профиля пользователя профиль, используя Graph API, но похоже, что вы не можете обновить значение / me / picture, чтобы установить текущее изображение профиля пользователя для загруженного вами изображения.